Github で管理している静的ファイルを Linuxサーバー にデプロイする。
まずは手動でデプロイできるようにする。そしてその作業を Github Actions に任せる。手動でデプロイできるようにするには Linux に Git をインストールして、clone, pull する。
それでは上記の作業を Github Actions に任せていく。Github Repositories で対象のリポジトリから次のページ遷移をして workflow を作成する。
Actions > New workflow > set up a workflow yourself
Edit new file の欄を編集していきます。
name: deploy # set trigger on: push: branches: [master] jobs: index-deploy: runs-on: ubuntu-latest steps: - name: deploy files uses: appleboy/ssh-action@v0.1.6 with: host: ${{ secrets.FTP_HOST }} username: ${{ secrets.FTP_USER }} password: ${{ secrets.FTP_PASSWORD }} script: | cd ${{ secrets.LOCAL_REPOSITORY }} git pull origin master cp ${{ secrets.LOCAL_REPOSITORY }}/WebContent/* ${{ secrets.PUBLIC_DIRECTORY }}
公開したくない情報は Actions secrets で定数として定義して使用します。上記では secrets. で始まっているのは登録した定数です。
これで masterブランチ に push されたことをトリガーに workflow が実行されます。
uses: に appleboy/ssh-action@v0.1.6 と記載すると、シェルスクリプトが実行できるようになります。
script: には今まで手動でデプロイしていたコマンドを記載します。workflow が実行されたらここに記載したコマンドが実行されます。
編集これで Start commitボタン をクリック。すると workflow が実行され、以降は master ブランチに push され次第デプロイされます。