webデザイナーのためのGit入門② GitHub Actionsで自動デプロイ

GitHub Actionsは、ビルド、テスト、デプロイのプロセスを自動化できるサービスです。
様々な作業を自動化できるツールという感じです。

今回は、GitHub Actionsを使用して、Masterブランチにマージしたタイミングで、自動でFTP経由でレンタルサーバーにコードをデプロイする方法について説明します。

公式 GitHub Actions概要ページ
https://docs.github.com/ja/actions/learn-github-actions/understanding-github-actions

目次

GitHub Actionsの設定

GitHub Actionsを使用してFTP経由でコードをデプロイするためには、リポジトリでActionsを有効化し、デプロイ用のワークフローファイルを設定する必要があります。

1、Actionsの有効化

リポジトリのGitHubページに移動し、画面上部のタブから「Actions」を選択します。必要に応じて、GitHub Actionsを有効化します。

2,ワークフローファイルの作成

ワークフローとは、実行する処理とその処理を実行する条件をまとめたプロセスです。

デプロイ用のワークフローを構成するYAMLファイルを作成し、適切な名前を付けます(例: deploy.yml)。


name: FTP Deploy

on:
  push:
    branches:
      - main

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout Repository
        uses: actions/checkout@v2

      - name: FTP Deploy
        uses: SamKirkland/FTP-Deploy-Action@4.0.0
        with:
          server: ${{ secrets.FTP_SERVER }}
          username: ${{ secrets.FTP_USERNAME }}
          password: ${{ secrets.FTP_PASSWORD }}
          local-dir: ./dist
          remote-dir: /public_html

下記で解説します。

トリガーの設定

下記記述では、デプロイが実行されるトリガーを設定しています。通常は、特定のブランチにプッシュされた際にデプロイが開始されるように設定します。


on:
  push:
    branches:
      - main

ジョブの設定

下記の記述では、デプロイの手順を含むジョブを定義します。


jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout Repository
        uses: actions/checkout@v2

      - name: FTP Deploy
        uses: SamKirkland/FTP-Deploy-Action@4.0.0
        with:
          server: ${{ secrets.FTP_SERVER }}
          username: ${{ secrets.FTP_USERNAME }}
          password: ${{ secrets.FTP_PASSWORD }}
          local-dir: ./dist
          remote-dir: /public_html

FTPアクセス情報などの機密情報は、GitHubのSecretsに保存し、環境変数で取得されるように設定します。

2、FTPの接続情報の設定

secretsにFTPサーバーの接続情報を保存し、ワークフローファイル内でこれらの情報を参照します。

Settings > Secrets and variables > New repository secret をクリック

NameとValueを設定

これで、セキュリティを確保しながらFTP経由でのデプロイを行うことができます。

3、作成したワークフローをGitHub Actionsに登録

Actions > set up a workflow yourself をクリック

作成したymlファイルを記述し、コミットする

4、デプロイのテスト

ワークフローファイルの設定が完了したら、実際にコードをプッシュしてデプロイをテストします。TP経由でファイルが正常にアップロードされることを確認します。

参考

GitHub Actionsを使ってXServerなどレンタルサーバーに自動デプロイしよう
https://and-ha.com/coding/github-action-deploy/

  • URLをコピーしました!
目次