【Looker】GitLab.comに切り替えたらProductionにDeployされなくなった件
はじめに
皆さん、Looker使ってますかー?
そろそろ、LookMLのコードレビュー運用(プルリク/Merge Requests)を始めようと思い
これまで利用していたCloud Source RepositoriesからGitLabにGitリポジトリを
切り替えることにしました。
Cloud Source Repositoriesを利用した時の記事はこちらになります。
切り替えの際にMasterブランチからProductionにDeployされない事象で
ハマってしまったので、その時に調査した内容とその過程で学んだことをまとめました。
実行環境
Product | version |
---|---|
Looker | 21.10.17 |
GitLab | Enterprise Edition 14.1.0-pre |
GitLabへの切り替え
GitLabへの切り替えですが、コストをかけずお手軽にGitLab.comのFreeプランを選択しました。
GitLabの料金ページより
GitLabの接続手順はこちらを参照ください。
接続するとLookMLの[プロジェクト設定] > [ブランチの管理]でGitLabと表示されます。
Merge Requests(以降、MR)を必須とする場合は
LookMLの[プロジェクト設定] > [プロジェクト構成]でMerge Requests必須とします。
今回の問題とは
上記の設定を実施したにも関わらず、Lookerの開発モードを抜けると変更したLookMLのコードが
反映されていませんでした。(Webhookの設定もちゃんと実施済み)
今回の問題になった処理は以下の赤枠のdeployになります。
これまではLookMLを変更した際、Looker側でDeploy to Productionを実施していました。
これはLooker側からMasterブランチを参照しに行って、Deployをしていたことに今回改めて
気が付きました。(動きはPullですね)
しかし、GitLabのMR機能を挟んだことでDeployはGitLab側のMasterブランチから
WebhookでPushしているので、通信の方向が違うということです。
原因はなんだったのか?
はい、ここまで説明していませんでしたが、Lookerのログイン制御するため
IP AllowlistでIP制御していたことでGitLabからの通信が弾かれてました。
GitLab.comがWebhookで利用しているIPアドレス範囲はこちらに記載されています。
Lookerの[管理] > [IP Allowlist]を開き、以下のルールを追加しました。
Label | IP Range | UI or API |
---|---|---|
gitlab.com_ip_01 | 34.74.90.64/28 | Both |
gitlab.com_ip_02 | 34.74.226.0/24 | Both |
これで無事ProductionへのDeployもされました。
いやぁ、お恥ずかしい限りです^^;
まとめ
今度のプランとして、LookMLの変更をどのようにレビューするのが良いか
真剣に検討していこうと思います。こちらを参考にします!
Discussion