facebook twitter hatena line email

Git/github/自動デプロイ

提供: 初心者エンジニアの簡易メモ
移動: 案内検索

github側設定

  1. 作成したプロジェクトのsettingsを開く
  2. Webhookを開きAddWebhookボタンを押す
  3. deploy用のapiをurlで指定する

githubの外向けip

https://api.github.com/meta

プロジェクト側設定

$accept = '185.199.108.0/22'; // githubIP
$remote_ip = $_SERVER['REMOTE_ADDR'];
list($accept_ip, $mask) = explode('/', $accept);
$accept_long = ip2long($accept_ip) >> (32 - $mask);
$remote_long = ip2long($remote_ip) >> (32 - $mask);
if ($accept_long != $remote_long) {
   die("403 error");
}
shell_exec("cd ". realpath(__DIR__."/../"). "; git pull;");

参考:IPアドレスが範囲内か https://qiita.com/ran/items/039706c93a8ff85a011a