この記事について
Google Cloud Dataform を GitLab と連携してチーム開発できるようにするための入門記事です。
- Dataform を Git 管理したい
- CI/CD まではまだ導入できていない
- 手動リリースでも安全に運用したい
- SQL ベース開発のレビュー方法を整理したい
そんな現場に向けて、実務で使える最低限のセットアップと運用方法をまとめました。
目的
Dataform を Git 管理下に置くことで、
- 開発履歴が残る
- レビューができる
- 本番反映のフローが安全になる
- 「誰が何を変えたか」追跡しやすい
といったメリットが得られます。
この記事では、CI/CD をまだ導入していない現場でもすぐ始められる Git 連携方法を詳しく紹介します。
事前準備(GitLab / GCP / Dataform)
▶ GitLab の設定
- README つきの GitLab リポジトリを作成(権限:Maintainer/Owner)
- SSH 秘密鍵を作成
https://docs.gitlab.com/user/ssh/#generate-an-ssh-key-pair - GitLab アカウントに公開鍵を登録
https://docs.gitlab.com/user/ssh/#add-an-ssh-key-to-your-gitlab-account
▶ Google Cloudの設定(Secret Manager)
Dataform が GitLab に SSH 接続するための プライベート鍵 を保存します。
- Secret Manager を開く
- SSH の private key を登録
https://docs.cloud.google.com/dataform/docs/connect-repository?hl=ja
▶ Dataform で GitLab を接続
- https://cloud.google.com/dataform にアクセス
- プロジェクト作成
- Settings → Git と接続
- 接続方法 → SSH を選択
- GitLab リポジトリ URL を入力
- デフォルトブランチ:
main - 「リンク」をクリックして接続完了
✔ Dataform からブランチ作成・MR作成がそのまま GitLab に反映されるようになります。
main / develop ブランチ運用パターン
Dataform はテーブル単位の変更が多いため、
GitFlow の簡易版がもっとも相性が良い と感じています。
ブランチ構成
| ブランチ名 | 用途 | 対応環境 |
|---|---|---|
main |
本番反映 | Production |
develop |
検証・通常開発 | Staging / Dev |
feature/* |
個別開発(後で develop にマージ) | Dev |
release |
リリース調整用(必要に応じて) | Production |
hotfix |
本番障害発生時のみ使用 | Production |
✔ 「main にマージ=本番反映」という一本化ルールが、運用トラブルを減らします。
(任意)ブランチごとのスキーマ切り替え
Dataform では ブランチ名に応じて prod/stg データセットを切り替えることも可能 です。
(任意設定・必要な場合のみ)
// includes/environment.js
config {
schema: dataform.projectConfig.schemaSuffix === "main"
? "prod_dataset"
: "stg_dataset"
}
※ 本番と検証環境を明確に切り分けたい時に便利。
差分レビューのポイント
Dataform の SQLX は差分が Git 上にそのまま出るため、
レビューでは以下を押さえておけば安全です👇
✔ チェックするポイント
-
definitions/のテーブル定義・SQLロジック変更 -
includes/の共通処理に影響が出ていないか -
dataform.jsonのスケジュール・設定値の変更 - 参照テーブル (
ref()) の変更による影響
🔍 実務ではこの 4 点を見ておけば、デプロイ後の事故はほぼ防げます。
実務Tips:安全なリリース管理
| 項目 | おすすめ対応 |
|---|---|
| リリース前チェック |
dataform run --dry-run で依存確認 |
| main 更新時 | Slack 通知 or 実行ログで記録 |
| タグ管理 |
v2025.11 、v2025.12 など月単位 |
| コミット規約 |
feat: / fix: / refactor: などを統一 |
小さな修正でも MR を作り、履歴を残しておくことが長期的に効いてきます。
さいごに
Dataform の Git 連携は、
分析基盤を “コードとして管理する” 第一歩 です。
まだ CI/CD まで導入できていない環境でも、
- 履歴が残る
- レビューできる
- 本番反映のフローが明確になる
これだけでチームの透明性は一気に上がります。
自分も CI/CD の導入は模索中ですが、
まずは今回紹介した Git 運用だけでも十分メリットを感じています。
今後のステップ
- GitLab CI で Dataform を自動実行
- Cloud Build と組み合わせた本番デプロイ
- DAG の差分検知・自動チェック
- 多環境(dev/stg/prod)でのスケジュール管理
少しずつ仕組みを整えながら、より安全でスケーラブルな運用にしていければと思います。