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 され次第デプロイされます。