GitHubリポジトリとサーバーの連携

GitHubリポジトリを用意し、クライアントソフト「SourceTree」で複数人管理できるようになった。

 

だが現時点では、最新ソースをGitHubからサーバーへと都度手動で移動させる必要がある。
今回は、それを自動でサーバーに反映させるようにしたい。

 

FTPサーバー情報をGitHubリポジトリに設定(アカウント、PWなど)

GitHubリポジトリの「Settings」→「Secrets and variables」のActionsにて、サーバー情報を他者に見えない状態で安全に登録できる。

 

以下例のように設定名をつけ、実際のFTPサーバー名などを保存する。

FTP_SERVER

FTP_PASSWORD

FTP_USERNAME

※上記は量産可能な個別FTPアカウントではなく、大元のFTPアカウントが必要のため、サーバーの種類に応じて調べる必要あり。

 

GitHubのAction機能でサーバー自動反映のプログラムを設定

GitHubリポジトリの「Action」→「New Workflow」の「set up a workflow yourself」にてAction機能用のワークフローを新規作成する。

このGitHub付属のAction機能にて、様々な外部連携やスケジュールを組むなどのカスタマイズができるらしい。

 

ワークフロー新規作成画面でコードが書けるようになるので、そこにサーバー連携用のコードを記載する。

コードは以下サイトを参考にさせていただいた。

okalog.info

 

がしかし、サーバーやバージョン違いからか、丸ままコピペでは動かなかったので、自分用に以下を編集した。

・SamKirkland/FTP-Deploy-Action@2.0.0 の末尾を4.1.0に変更

・「env」を「with」に変更し、with以下をこちらの別サイトを参考にして書き換え

・local-dir行を削除

・server-dirは、/xxx.co.jp/public_html/~~ (※エックスサーバーの場合)

 

そしてコードを保存。プッシュ時にサーバーへのソース反映が行われるようになる。

うまく反映されないなどのエラーが起きている場合は、GitHubのActionメニューで実行状態を確認し、コードを修正する必要あり。

 

 

 

 

kinabal.co.jp