Github Actions を使って静的ファイルデプロイする方法

Github で管理している静的ファイルを Linuxサーバー にデプロイする。

まずは手動でデプロイできるようにする。そしてその作業を Github Actions に任せる。手動でデプロイできるようにするには Linux に Git をインストールして、clone, pull する。

Github から Linux に clone, pull する方法
まずは Linux に Git をインストールする。 続いて、使用できるように設定していく。gitで使用するユーザ名と...

それでは上記の作業を 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 され次第デプロイされます。