事前準備
以下のところで(githubのsecrets)秘密鍵を登録する 名前は適当なものをつける 今回はSSH_KEYにした
https://github.com/{ユーザ名}/{リポジトリ名}/settings/secrets
実装
ルートの .github/workflows/deploy.yml
に以下を記載
ymlファイルの名前は適当なものをつける
name: deploy on: push: branches: - master jobs: deploy: runs-on: ubuntu-latest steps: - uses: actions/checkout@v1 - name: composer install run: composer install - name: ssh key generate run: echo "$SSH_KEY" > key && chmod 600 key env: SSH_KEY: ${{ secrets.SSH_KEY }} - name: rsync deploy for remote1 run: rsync -rptgDvz -e "ssh -i key -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no" ./ www@ホスト名:デプロイ先 - name: rsync deploy for remote2 run: rsync -rptgDvz -e "ssh -i key -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no" ./ www@ホスト名:デプロイ先
masterブランチにプッシュされたら仮想のubuntu環境でcomposer installして、secretsのSSH_KEYからkey作ってrsyncするってだけです。 普通に1箇所にデプロイするだけでも十分なのでこれでやってみるといいかも ただrsyncしているだけなので、ドットファイルとかデプロイ時に作成したkeyファイルも一緒にデプロイされているので、削除する処理が必要 rsyncのdeleteとかでも良いのかな?
参考になったところがいくつか記号をわざとなのか全角にしていてコピーしづらかったのでちゃんとしたやつです。