Engineer as a Lifestyle @tenkoma

What We Find Changes Who We Become -- Peter Morville著『アンビエント・ファインダビリティ 』

PHP BLT #7 でGitLab Review Apps の話でLTしました

2017/5/22 に株式会社メルカリで開催されたPHP BLT #7でLTしてきました。PHP BLT初参加です。

とりあえず参加登録後に過去の発表資料をチェックしたら、ほとんどPHPの話だったので、そういう縛りがあるのかーPHPネタは難しいな、と思ったのですが杞憂でした。 最近取り組んでいるGitLab CI を使った自動化の例として、レビュー環境を自動生成する話の(私が勉強中の)現状について紹介しました。

発表内容は、GItLab CI + Review Appsの簡単な紹介と .gitlab-ci.yml の設定例です。

CakePHPで自作したデプロイツール(gitリポジトリURLを指定すれば「デプロイ」ボタンを押すだけでレビュー環境が更新される、HTTP認証も設定できるというもの)を運用しているのですが、gitコマンドまわりでバグがあったり、push時に自動でデプロイする機能がまだなく使い勝手がまだまだです。しかし、Review Appsならそのあたりをイイ感じに解決できそう、という感想です。

LT中にでてくる唯一のPHP要素、 .htdigest ファイルを生成するワンライナーは以下の通りです。

php -r 'printf("%s:%s:%s\n", $argv[1], $argv[2], md5("{$argv[1]}:{$argv[2]}:{$argv[3]}"));' $HTTP_USER "$HTTP_REALM" $HTTP_PASSWORD >> $SRC_PUBLIC_DIR/.htdigest

紹介した設定ファイルのコードは以下で参照できます。

GitLabは使い方を覚えれば、できる自動化が増えていって楽しいですね。