GitHub Actionsで、自作WordPressテーマをmasterブランチにプッシュしたらデプロイされるようにした
 
      はじめに
GitHub Actionsを使用して、本サイトのWordPressテーマを編集した後に、GitHubのmasterブランチにプッシュをすると、エックスサーバーに自動でデプロイされるようにしました。
手順1: サーバー情報4点を確認
- FTPサーバー(ホスト)名
- ユーザー名
- パスワード
- リモートパス
FTPサーバー(ホスト)名、ユーザー名
サーバーパネル > サブFTPアカウント設定 > FTPソフト設定

パスワード
サーバーパネルにログインするときに使用しているパスワード。

リモートパス
ファイルをアップロードする先のパス。
FTPソフトのCyberduckでは、アップしたいディレクトリにあった「style.css」上で右クリックで「URLをコピー」が表示され、「FTPS URL」をクリックすると以下のようなパスが取得できた。
ftps://sv10179.xserver.jp/ki-hi-ro.com/public_html/ki-hi-ro.com-2022/wp-content/themes/ki-hi-ro.com-2022/style.cssリモートパスとして使用したのは、以下の赤字の部分。
ftps://sv10179.xserver.jp/ki-hi-ro.com/public_html/ki-hi-ro.com-2022/wp-content/themes/ki-hi-ro.com-2022/style.css手順2: GitHubにシークレットの変数を登録する
手順1で確認した以下の3点を、Git Hubに登録。
- FTPサーバー(ホスト)名
- ユーザー名
- パスワード
GitHub > Settings > Secrets > Actions で「New repository secret」をクリックすると、以下の入力欄が出てくる。記入して「Add secret」をクリック。

Nameに、任意の変数を設定して、Secretにその値を入力する。
例えば、ユーザー名を登録するときは、Nameに「FTP_USERNAME」を、Secretにエックスサーバーの管理画面で確認した「ユーザー名」を入力する。

FTPサーバー(ホスト)名とパスワードも登録。
以下のように3つ登録されたことを確認。

手順3: ymlファイルを準備する
GitHubのmasterブランチにプッシュした段階で、エックスサーバーにアップされるような記述をymlファイルに書いていく。
.github/workflows/deploy.yml を作成
本番反映させたいディレクトリに、.githubというフォルダを作成。その中に、workflowsフォルダを作成する。
workflowsの中に、deploy.ymlを作成する。

deploy.ymlの中身を記述する
今回記述したソースコードはこちら。
on:
  push:
    branches:
      - master 
name: Build and Deploy
jobs:
  FTP-Deploy-Action:
    name: FTP-Deploy-Action
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@master
      - name: FTP-Deploy-Action
        uses: SamKirkland/FTP-Deploy-Action@2.0.0
        env:
          FTP_SERVER: ${{ secrets.FTP_SERVER }}
          FTP_USERNAME: ${{ secrets.FTP_USERNAME }}
          FTP_PASSWORD: ${{ secrets.FTP_PASSWORD }}
          LOCAL_DIR: "./"
          REMOTE_DIR: "/ki-hi-ro.com/public_html/ki-hi-ro.com-2022/wp-content/themes/ki-hi-ro.com-2022/"以下は、masterブランチにプッシュした時に、アクションするような記述。
on:
 push:
  branches:
   - master 5行目は、アクション名。
name: Build and Deploy6行目以降は、実行環境 + ステップのまとまり。
jobs:
  FTP-Deploy-Action:
    name: FTP-Deploy-Action
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@master
      - name: FTP-Deploy-Action
        uses: SamKirkland/FTP-Deploy-Action@2.0.0
        env:
          FTP_SERVER: ${{ secrets.FTP_SERVER }}
          FTP_USERNAME: ${{ secrets.FTP_USERNAME }}
          FTP_PASSWORD: ${{ secrets.FTP_PASSWORD }}
          LOCAL_DIR: "./"
          REMOTE_DIR: "/ki-hi-ro.com/public_html/ki-hi-ro.com-2022/wp-content/themes/ki-hi-ro.com-2022/"FTP-Deploy-Actionは、ジョブの一意の識別名。
jobs:
  FTP-Deploy-Action:
    name: FTP-Deploy-Actionnameは、表示用のジョブ名。
jobs:
  FTP-Deploy-Action:
    name: FTP-Deploy-Actionruns-onでは、ジョブの実行環境を指定している。
jobs:
  FTP-Deploy-Action:
    name: FTP-Deploy-Action
    runs-on: ubuntu-lateststepsは、ジョブを構成する処理のステップ一覧。
    steps:
      - uses: actions/checkout@master
      - name: FTP-Deploy-Action
        uses: SamKirkland/FTP-Deploy-Action@2.0.0usesには、リポジトリのソースコードを仮想環境に持ってくる処理が書いてある。
    steps:
      - uses: actions/checkout@master
      - name: FTP-Deploy-Action
        uses: SamKirkland/FTP-Deploy-Action@2.0.0name: FTP-Deploy-Actionは、二つ目のステップ。
    steps:
      - uses: actions/checkout@master
      - name: FTP-Deploy-Action
        uses: SamKirkland/FTP-Deploy-Action@2.0.0usesには、GitHub Marketplaceで公開されているFTPデプロイ専用のActionを指定している。
    steps:
      - uses: actions/checkout@master
      - name: FTP-Deploy-Action
        uses: SamKirkland/FTP-Deploy-Action@2.0.015〜17行目では、手順2で設定した変数(FTP_SERVER, FTP_USERNAME, FTP_PASSWORD)を使用。
// 省略
        env:
          FTP_SERVER: ${{ secrets.FTP_SERVER }}
          FTP_USERNAME: ${{ secrets.FTP_USERNAME }}
          FTP_PASSWORD: ${{ secrets.FTP_PASSWORD }}
          LOCAL_DIR: "./"
          REMOTE_DIR: "/ki-hi-ro.com/public_html/ki-hi-ro.com-2022/wp-content/themes/ki-hi-ro.com-2022/"最後の2行では、編集したテーマのパスと、本番アップをしたい先のパスを指定。
// 省略
        env:
          FTP_SERVER: ${{ secrets.FTP_SERVER }}
          FTP_USERNAME: ${{ secrets.FTP_USERNAME }}
          FTP_PASSWORD: ${{ secrets.FTP_PASSWORD }}
          LOCAL_DIR: "./"
          REMOTE_DIR: "/ki-hi-ro.com/public_html/ki-hi-ro.com-2022/wp-content/themes/ki-hi-ro.com-2022/"
コメントを残す