最初の建物を建てる
市民になる で払い出された自己紹介用アプリケーション(self-intro)は、まだ一度もデプロイされておらず、Map の予定地に灯りが付いていない状態です。この章では、そのコードを書き換えて main ブランチへマージし、公開ページが更新されて自己紹介区画の建物に灯りがともるまでを進めます。
始める前に
前の章の次の手順まで終わっていることを確認してください。途中なら、それぞれのリンク先から再開できます。
- GitLab への初回ログイン が済み、
https://gitlab.com/platform-city/citizen/<username>/self-intro-<username>が開ける - glab の準備 が済み、
self-intro-<username>を手元に clone してある - Home のチェックリストで「テナント環境のセットアップ完了」にチェックが付いている
ここから先はエージェントに任せられます。clone がまだでも、下の依頼例の通りに頼めばエージェントが clone から始めます。
main ブランチの保護と MR による開発フロー
安全な開発と品質検証のため、プロジェクトの main ブランチへの直接 push は禁止されています。コードの変更は必ずトピックブランチを作成し、マージリクエスト(MR)を経由して取り込みます。
ブランチの作成、コミット、MR の起票、AI レビューの依頼、マージまで、すべてエージェントに任せられます。ブラウザを開かなければならないステップはありません。たとえば、エージェントに次のように頼みます。
self-intro プロジェクトを clone して、index.html を自己紹介ページに書き換えて。
トピックブランチを切って、レビュアーに @GitLabDuo を指定して MR を作って。
MR に AI レビューのコメントが付いたら、続けてこう頼みます。
Duo のレビューコメントを確認して、必要なら直して、スレッドを解決して。
verify-ai-review を Retry して、通ったらマージして。
MR の作成からマージまでのステップ
- トピックブランチを作成し、
index.htmlなどを編集して MR を作成します。**このとき Reviewer に@GitLabDuoを指定してください。** MR 作成と同時に指定するのが最も確実です。 - MR を作成するとパイプラインが走り、
verify-ai-reviewというジョブが失敗します。この失敗は正常な挙動です。まだ AI レビューが実施されていないことをパイプラインが正しく検出している状態で、あなたのコードが原因ではありません。このジョブの失敗を直そうとしないでください。エージェントが「CI が落ちた」と修正に走り始めたら、「レビュー待ちなので次に進んで」と止めてください。 - 1〜2 分ほど待つと、GitLab Duo からコードに対するレビューコメントが届きます。指摘事項がある場合はコードを修正し、ディスカッションスレッドを解決(resolve)してください。未解決のスレッドが残っている状態ではマージできません。これも API から行えます。
- スレッドがすべて解決したら、
verify-ai-reviewジョブを Retry します(再度の push は不要です)。ジョブが成功に変わります。GitLab がマージの条件として強制しているのは「未解決のスレッドが無いこと」だけですが、AI レビューを受けた記録としてこのジョブを緑にしてからマージしてください。 - MR をマージすると、
mainブランチ側のパイプラインが自動的に実行されます。lint、test、build、image push、deploy の各工程が順次進行します。
Reviewer の指定はコマンドラインから行えます。すでに作成済みの MR に後から追加することもできます。
# MR 作成と同時に Reviewer を指定する(推奨)
glab mr create --fill --reviewer GitLabDuo
# すでにある MR に後から追加する(GitLabDuo の user id は 21826781)
glab api --method PUT "projects/:id/merge_requests/<iid>" -f "reviewer_ids[]=21826781"
クレジットについて: AI レビューは GitLab Duo Agent Platform のクレジットを消費し、Reviewer を追加した本人のクレジット(参加者 1 人あたり 24 クレジット、Code Review Flow 1 回 = 0.25 消費)から引かれます。1 人あたり最大 96 回ぶんなので、通常の開発で足りなくなることはありません。
※ CI/CD パイプラインの定義はグループ共通の設定によって保護されており、個別のプロジェクト内にある .gitlab-ci.yml を編集しても適用されません。
建物が完成した後の確認
デプロイ処理が完了すると、https://<username>.city.paas.jp/ に変更内容が反映され、Map の自己紹介区画に新しい建物が建設されます。
さらに、アプリケーションの /healthz エンドポイントが正常応答(200 OK)を返し始めると、建物の窓に温かい灯りがともります。Home 画面のチェックリストでも「最初の建物が Map に建った」の項目にチェックが付き、無事に市民としての第一歩を踏み出したことが確認できます。
ここまでで自己紹介アプリの最初の公開は完了です。これは体験の終点ではなく、Map 上の建物や紹介カード、人からの反応を見ながら次の改善を考えられる最初の観測点でもあります。
続けて何か試したい場合は、次にできること から興味のある方向を選べます。追加の作業は任意で、ここで終えても問題ありません。