AWSのLIGHTSAIL(WORDPRESS)をGITHUB ACTIONS連携する話（2）

[AWSのLIGHTSAIL(WORDPRESS)をGITHUB ACTIONS連携する話（1）](https://qiita.com/weeeveeee/items/7596b777d463c9ac76ba)でAWS LIGHTSAILのWorsPressを起動させてログインするところまで記載しました。

ここでは
1. GITHUB ACTIONS用のリポジトリを作成する
2. DEPLOYキーの設定ほかをする
3. actions用のymlファイルを作成する
まで記載します


## 1.　GITHUB ACTIONS用のリポジトリを作成する
1. Githubにログインする
2. repositoriesページに移動する
3. Newボタンをクリックしてリポジトリを新規作成する

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/398694/a9b86ed1-af76-cae2-903f-772b5dfaa963.png)

空コミットが面倒なので `Add a README file` にチェックを入れます

4.　 `Create repository` をクリックしてリポジトリを作成します


## 2. DEPLOYキーの設定ほかをする
作成したリポジトリに対してDEPLOYキーの設定をします
### 1.LightSailのSSHキーをAWSのLightSailのダッシュボードで確認します

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/398694/21326075-ad97-5b24-464c-32bf660c5f60.png)

赤で囲んだ箇所に作成時で使用したSSHキー名が記載されています

通常、PC側の　`.ssh` フォルダに格納されています。

### 2.LightSailサーバにログインします

```
ssh -i ~/.ssh/{SSHキー名}.pem  bitnami@{接続先に記載されているIPアドレス}
```
sshキーを新しく作った場合、ダウンロードしたプライベートキーを `.ssh` フォルダに移動させて、 `chmod 600 {SSHキー}.pem` で600権限に変更させてください。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/398694/2cff84e7-f854-4371-c0e2-82d27c689e9a.png)
ログインしたら、パブリックキーを確認しに行きます。

```
cat ~/.ssh/authorized_keys
```
上記コマンドでパブリックキーを表示させてコピーします

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/398694/bc0fe4cd-b63f-edb0-e43f-57adde21d433.png)

### 3.Github Actions　に必要な設定をする

GITHUBのリポジトリのsettingにある　`Deploy Keys` に、コピーしたパブリックキーを貼り付ける
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/398694/a5c47e21-2dcb-0137-1efb-2a3cc6c18849.png)

action secrets に設定を記載します。
大事なのはプライベートキーの登録です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/398694/c66b5b87-38c2-d71a-1151-334f04bae61f.png)

ではプライベートキーを確認しに行きます。
SSHキーログインに使用したキーです。
ローカルのPCのターミナルで下記コマンドを実行します
```
cat ~/.ssh/{SSHキー名}.pem
```

ここでBEGIN から　END　までのデータをコピーします。
```
-----BEGIN RSA PRIVATE KEY-----
＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊
-----END RSA PRIVATE KEY-----
```

action secretsにNameを`DEPLOY_PRIVATE_KEY`にして上記をペーストします。

他は下記設定を入れます
| Name | Secret |
|:-:|:-:|
| DEPLOY_PRIVATE_KEY | PRIVATE KEY  |
| DEPLOY_PORT  | 22 |
| DEPLOY_HOST  | LightSailのIPアドレス  |
| DEPLOY_USER  | bitnami |
| DEPLOY_DIR  　| wordpressの展開ディレクトリ  |

> ※lightsailの場合です。他環境で使用する場合はサーバ環境に合わせて変更してください。
ディレクトリ展開先はWordPressということなので themes/フォルダにします。

```
/opt/bitnami/wordpress/wp-content/themes
```

※あとで リポジトリを　git clone するのでその際に変更します。LightSailにgitをインストールする方法は後述します。

### 4.actions用のymlファイルを作成する
GitHubの画面上で　Actions に移動
` set up a workflow yourself `をクリック

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/398694/7f80bbf0-5b1c-63f8-b62b-a6bbf5039d00.png)

```
name: CI

on:
  push:
    branches:
      - main

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - name: Deploy
        uses: appleboy/ssh-action@master
        with:
          host: ${{ secrets.DEPLOY_HOST }}
          username: ${{ secrets.DEPLOY_USER }}
          port: ${{ secrets.DEPLOY_PORT }}
          key: ${{ secrets.DEPLOY_PRIVATE_KEY }}
          script: |
            cd ${{ secrets.DEPLOY_DIR }}
            git pull origin main
```

actionsを実行してみるとGitコマンドがないというエラーになります。

` err: bash: line 2: git: command not found `

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/398694/dcf98b79-7f0b-ea4e-445f-39a735cdb3e2.png)

今回はここまで。

次は、AWSのLIGHTSAIL(WORDPRESS)を[AWSのLIGHTSAIL(WORDPRESS)をGITHUB ACTIONS連携する話（3）](https://qiita.com/weeeveeee/items/111e2353a5b08e992d71)でLIGHTSAILにGITをインストールするところまで記述します。


## 関連記事
> [AWSのLIGHTSAIL(WORDPRESS)をGITHUB ACTIONS連携する話（1）](https://qiita.com/weeeveeee/items/7596b777d463c9ac76ba)
[AWSのLIGHTSAIL(WORDPRESS)をGITHUB ACTIONS連携する話（2）](https://qiita.com/weeeveeee/items/af46fb3f05a1d823436a)
[AWSのLIGHTSAIL(WORDPRESS)をGITHUB ACTIONS連携する話（3）](https://qiita.com/weeeveeee/items/111e2353a5b08e992d71)