Webhook環境構築はこちらへ:Webhookで自動デプロイ–ステップ1 Webhookで簡単デプロイの設定手順はこちらへ:Webhookで自動デプロイ-ステップ2 Webhookで自動デプロイすることが前回まで既にできました。でも、まだ完成とは言えません。 残りの問題: 更新は失敗した場合、どこに引っかかっているかわからない 設定ファイルさえないので、新しいWebhookを導入する時、gitlab.phpをいじらなければいけないため、人為的なミスが発生する確率が高くなる LAMP環境とデプロイ用のgitlab.phpなどを1コマンドでデプロイサーバに展開できればいいかなと。。 問題1について: a. GUIで管理して、履歴をDBへ保存する b. ログの追加 デプロイプロジェクトをGUI化にしたら、そこそこのコストがかかります。 開発、メンテナンスにも手間が必要です。 もし履歴などを(自動テスト結果とかも)管理したければ、Webhookではなく、CI/CDを利用したほうが断然コストが低いし、安定性も高いので、選択肢aをパスしました。 選択肢bを実装しましょう。 function writeLog($logPath, $msg) { /* create open log */ $fs = fopen($logPath, ‘a’); $nowDate = date(“Y-m-d H:i:s”); try { fwrite($fs, “[$nowDate]: $msg”.PHP_EOL); } finally { $fs and fclose($fs); } } 問題2: a. gitlab.phpの自動テストを実装する b. env.iniでコントロールする 「こんな簡単なgitlab.phpのためにテストを書いて、毎回編集してテストするもんか」という感じで、bを選びました。 PHPで.iniファイルの読み込みはとりあえず簡単です。 $ENV = parse_ini_file(‘./env.ini’, true); そして、外へ出すべきな変量を洗い出しましょう。 セキュリティトークン: token ホワイトIPリスト:allow_ip_list ログファイルパス:log ブランチ:branch [security] ;secret token token=”enter_my_security_token” ;space for …