GitHub ActionsでConoHa WINGへ自動デプロイする方法|WordPressをGitHubへPushするだけで更新

GitHub ActionsでConoHa WINGへ自動デプロイする方法|WordPressをGitHubへPushするだけで更新

はじめに

Webサイトを更新するたびに、FTPソフトでサーバーへ接続し、ファイルをアップロードしていませんか。

私も以前は、VS Codeでコードを修正したあと、毎回FTPソフトを開いてConoHa WINGへ接続し、WordPressのテーマファイルをアップロードしていました。

更新作業自体は難しくありませんが、

  • ファイルのアップロード漏れ
  • 間違ったファイルを上書きしてしまう
  • 更新のたびにFTPソフトを開く手間

など、毎回同じ作業を繰り返すことに不便さを感じていました。

そこで導入したのがGitHub Actionsです。

GitHub ActionsとConoHa WINGを連携すると、VS Codeでコードを修正してGitHubへPushするだけで、ConoHa WINGへ自動でファイルがアップロードされ、公開中のWebサイトへ反映されます。

この記事では、私が実際に設定したFTP接続による自動デプロイの方法を、初心者向けにわかりやすく解説します。

GitHub Actionsとは

GitHub Actionsは、GitHubに標準搭載されている自動化機能です。

GitHubへPushしたタイミングで、あらかじめ設定した処理を自動で実行できます。

今回は、GitHubへPushすると、ConoHa WINGのWordPressテーマフォルダへ自動でファイルをアップロードし、Webサイトへ反映する仕組みを作ります。

GitHub Actionsを導入するメリット

GitHub Actionsを導入すると、Webサイトの更新作業がとても簡単になります。

GitHubへPushするだけでWebサイトが更新される

これまでは、コードを修正したあとにFTPソフトを起動し、ConoHa WINGへ接続してファイルをアップロードする必要がありました。

GitHub Actionsを設定すると、VS Codeでコードを修正してGitHubへPushするだけで、自動的にConoHa WINGへファイルがアップロードされ、公開中のWebサイトへ反映されます。

FTPソフトを開く必要がなくなる

毎回FTPソフトへ接続する作業が不要になります。

普段の作業はVS Codeでコードを修正し、GitHubへPushするだけです。

更新漏れや操作ミスを防げる

手動でファイルをアップロードしていると、

  • アップロードし忘れる
  • 古いファイルを残してしまう

といったミスが起こることがあります。

GitHub Actionsなら毎回同じ手順で自動的に更新してくれるため、安心してサイトを運用できます。

GitHubで変更履歴を管理できる

GitHubには、いつ・どのファイルを変更したのかという履歴が残ります。

もし不具合が発生しても、以前の状態へ戻しやすいのもメリットです。

更新作業がとてもシンプルになる

普段行う作業は次の2つだけです。

  1. VS Codeでコードを修正する
  2. GitHubへPushする

あとはGitHub Actionsが自動でConoHa WINGへファイルをアップロードし、Webサイトを更新してくれます。

自動反映するために準備するもの

GitHub ActionsでConoHa WINGへ自動反映するために準備するものは、それほど多くありません。

今回はSSHではなく、FTP接続を利用します。

準備するものは次の5つです。

  • GitHubリポジトリ
  • ConoHa WING
  • FTPアカウント
  • GitHub Secrets
  • deploy.yml

GitHubリポジトリ

Webサイトのコードを管理する場所です。

VS Codeで修正したコードをGitHubへPushすると、自動デプロイが開始されます。

ConoHa WING

実際にWebサイトを公開しているレンタルサーバーです。

GitHub Actionsは、このサーバーへ最新のファイルをアップロードします。

FTPアカウント

ConoHa WINGで作成したFTPアカウントです。

今回の設定では、このFTPアカウントを使ってGitHub Actionsがサーバーへ接続します。

登録する情報は次の3つです。

  • FTPサーバー
  • ユーザー名
  • パスワード

GitHub Secrets

FTP情報を安全に保存する場所です。

今回は以下を登録します。

  • FTP_SERVER
  • FTP_USERNAME
  • FTP_PASSWORD

Secretsへ登録することで、パスワードをdeploy.ymlへ直接書かずに済みます。

deploy.yml

GitHub Actionsの設定ファイルです。

GitHubへPushされたことを検知し、GitHub Secretsに保存したFTP情報を使ってConoHa WINGへ接続し、自動でファイルをアップロードします。

GitHub ActionsとConoHa WINGを連携する手順

ここからは、実際にGitHub ActionsとConoHa WINGを連携する方法を解説します。

今回紹介する方法では、FTP接続を利用して、GitHubへPushするとWordPressのテーマファイルが自動で更新される環境を構築します。

設定の流れは次の4ステップです。

  1. ConoHa WINGでFTPアカウントを作成する
  2. GitHub Secretsを設定する
  3. deploy.ymlを作成する
  4. GitHubへPushして動作を確認する

STEP1 ConoHa WINGでFTPアカウントを作成する

最初に、GitHub ActionsがConoHa WINGへ接続するためのFTPアカウントを作成します。

ConoHa WINGの管理画面へログインし、次の順番で進みます。

サイト管理

FTP

FTPアカウント

右上にある「FTPアカウント+」をクリックします。

次の情報を入力します。

  • ユーザー名
  • パスワード
  • 接続許可ディレクトリ

設定が完了すると、FTPサーバー・ユーザー名・パスワードが表示されます。

後ほどGitHub Secretsで使用するため、控えておきましょう。

STEP2 GitHub Secretsを設定する

次に、GitHubへFTP情報を登録します。

リポジトリを開き、

Settings

Secrets and variables

Actions

を開きます。

右上のNew repository secretをクリックし、次の3つを登録します。

Secret名登録する内容
FTP_SERVERConoHa WINGのFTPサーバー
FTP_USERNAMEFTPユーザー名
FTP_PASSWORDFTPパスワード

なぜGitHub Secretsを使うの?

FTPサーバーやパスワードをdeploy.ymlに直接書くと、第三者に見られてしまう可能性があります。

GitHub Secretsに登録しておけば、接続情報を安全に管理したままGitHub Actionsから利用できます。

STEP3 deploy.ymlを作成する

次に、GitHub Actionsの設定ファイルであるdeploy.ymlを作成します。

このファイルには、「GitHubへPushされたらConoHa WINGへファイルをアップロードする」という設定を記述します。

GitHubで作成する手順

  1. GitHubで対象のリポジトリを開きます。
  2. 「Add file」をクリックします。
  3. 「Create new file」を選択します。

ファイル名を入力する

ファイル名に次のように入力します。

.github/workflows/deploy.yml

ファイル名に.github/workflows/deploy.yml をコピペして貼り付けると

GitHubでは、存在しないフォルダ名を入力すると、自動でフォルダを作成してくれます。

そのため、

  • .github
  • workflows

を事前に作成する必要はありません。

deploy.ymlにコードを貼り付ける

ファイルが作成されたら、本文にGitHub Actionsの設定コードを貼り付けます。

name: Deploy Theme to ConoHa

on:
  push:
    branches:
      - main

jobs:
  deploy:
    runs-on: ubuntu-latest

    steps:
      - name: Checkout code
        uses: actions/checkout@v3

      - name: FTP Deploy
        uses: SamKirkland/FTP-Deploy-Action@v4.3.4
        with:
          server: ${{ secrets.FTP_SERVER }}
          username: ${{ secrets.FTP_USERNAME }}
          password: ${{ secrets.FTP_PASSWORD }}
          server-dir: /public_html/あなたのドメイン/wp-content/themes/テーマ名/

          exclude: |
            **/.git*
            **/.git*/**
            **/node_modules/**

ファイルを保存する

コードを貼り付けたら、画面下部の**「Commit changes…」**をクリックします。

コミットメッセージは、そのままでも構いません。

最後に「Commit changes」をクリックすると、deploy.ymlがリポジトリへ保存されます。

STEP4 GitHubへPushして動作を確認する

deploy.ymlの作成が完了したら、実際にGitHub Actionsが動作するか確認してみましょう。

まずは、VS Codeでファイルを修正し、GitHubへPushします。

git add .
git commit -m "Update theme"
git push origin main

mainブランチへPushすると、GitHub Actionsが自動で実行されます。

GitHub Actionsの実行状況を確認する

GitHubのリポジトリを開き、上部メニューの「Actions」をクリックします。

すると、先ほどPushした内容がWorkflowとして実行されていることを確認できます。

Workflowが実行中、またはSuccessになっている画面が表示されます。

Successと表示されれば設定完了

Workflowの実行が完了し、✅緑色のチェックマークが表示されていれば、自動デプロイは成功です。

この時点で、GitHub ActionsがGitHub Secretsに登録したFTP情報を使ってConoHa WINGへ接続し、WordPressのテーマファイルを自動でアップロードしています。

Webサイトが更新されているか確認する

最後に、公開中のWebサイトを開き、修正した内容が反映されているか確認します。

更新内容が表示されていれば、GitHub ActionsとConoHa WINGの連携は完了です。

今後は、次の2ステップだけでWebサイトを更新できます。

  1. VS Codeでコードを修正する
  2. GitHubへPushする

あとはGitHub Actionsが自動でConoHa WINGへファイルをアップロードし、公開中のWebサイトへ反映してくれます。

ポイント

初回の設定は少し時間がかかりますが、一度設定してしまえば、その後はFTPソフトを開く必要がありません。

GitHub ActionsとConoHa WINGを連携する4ステップ

まとめ

今回は、GitHub ActionsとConoHa WINGを連携し、GitHubへPushするだけでWordPressのテーマファイルを自動で反映する方法を解説しました。

今回のポイントは次のとおりです。

  • GitHub Actionsを使うと、GitHubへPushするだけで自動デプロイできる
  • FTPアカウントとGitHub Secretsを設定することで、安全に接続情報を管理できる
  • deploy.ymlを作成すると、自動デプロイの処理を実行できる
  • 一度設定すれば、普段の更新作業は「コードを修正してGitHubへPushするだけ」になる

最初の設定には少し時間がかかりますが、一度環境を構築してしまえば、毎回FTPソフトを起動する必要がなくなり、更新作業を効率化できます。

一言

私も以前は、コードを修正するたびにFTPソフトを開いてファイルをアップロードしていました。

GitHub Actionsを導入してからは、VS Codeで修正してGitHubへPushするだけで自動反映されるようになり、更新作業がとてもスムーズになりました。

最初の設定だけ少し頑張れば、その後の運用はぐっと楽になります。ぜひこの記事を参考に、自動デプロイ環境を構築してみてください。

コーディングで
お困りではありませんか?

デザインデータからのコーディング、
WordPress実装、既存サイトの改修など対応しています。

  • HTML/CSS
  • JavaScript
  • WordPress
  • レスポンシブ対応
お問い合わせはこちら

Category

関連記事