2026.07.31

GitLab実践ハンズオンで見えた、AIエージェントを開発ワークフローに組み込むポイント

佐藤梨花
SB C&S株式会社 ICT事業本部 技術本部 技術統括部 第2技術部 2課
このエントリーをはてなブックマークに追加

はじめに

こんにちは。SB C&Sの佐藤です。

今回は、GitLabのIssue作成からマージリクエスト、セキュリティチェック、Releaseまでを一通り体験できる「GitLab実践ハンズオン」を実践してみました!

手順どおりに進めるだけでなく、GitLab Duo Agentic ChatやDevinも組み合わせ、AIエージェントを開発ワークフローへ参加させた場合にどのような動きになるのかも確認しています。
実際に体験してみると、GitLabの機能を個別に理解できるだけでなく、AIを活用するうえでもGitLabの既存機能が重要な役割を持つことが分かりました。

この記事では、細かな操作手順ではなく、ハンズオンから得られる内容や実際に感じたこと、AIエージェント(Devin Cloud)と連携する際のポイントを中心に紹介します。

この記事の内容は2026年7月時点の情報です。最新情報はGitLabおよびDevinの公式ドキュメントをご参照ください。

GitLab実践ハンズオンとは

今回実施したハンズオンは、新しくGitLabのグループとプロジェクトを作成し、Issue、マージリクエスト、セキュリティチェック、タグ、Releaseまでの流れを実際に操作しながら確認する内容です。
前提バージョンはGitLab19.0以降で、GitLab Ultimateを利用する構成となっています。GitLabの操作に慣れるだけでなく、EpicやRoadmapを使った計画から、ブランチ作成、マージリクエスト、Secret Detection、Vulnerability Report、Releaseまでを一連のワークフローとして体験できます。

個々の機能を試すハンズオンは多くありますが、今回の内容で特に良かったのは、各機能がどのようにつながっているのかを確認できる点です。
たとえば、Epicの子アイテムとしてIssueを作成し、そのIssueからブランチとマージリクエストを作成し、変更内容はCI/CDパイプラインで検査され、マージ後はタグを起点としてReleaseが作成される、という一連の流れをすべてこのハンズオンで体験可能です!
そのため「GitLabにどのような機能があるか」を知るだけではなく、「計画した作業がどのようにコード変更となり、検証され、リリースされるのか」を理解できるハンズオンとなっていました。

具体的な設定値や操作手順については、元のハンズオン記事で非常に丁寧にまとめられているため、是非そちらをご参照ください。
ブログ元.png

おすすめポイント

この章ではGitLab実践ハンズオンを実際に経験してみて感じたおすすめポイントを4点ご紹介します。

普段使わないGitLab機能をまとめて確認できた

今回のハンズオンでは、普段の検証では利用する機会が少ないDescription Template、保護ブランチ、保護タグ、マージリクエストタイトル検証、GitLab Releaseなども操作しました。
Issueやマージリクエストは普段から使用していても、テンプレートや保護設定まで含めて、小さなプロジェクトを最初から構成する機会はそれほど多くありません。
実際に設定してみると、これらは単なる管理機能ではなく、チームで決めた開発ルールをGitLab上で実行可能な形にするための機能だと分かります。

たとえば、mainブランチへの直接プッシュを禁止し、すべての変更をマージリクエスト経由にすることで、レビューやCI/CDを通らない変更を防げます。ブランチ保護.pngマージリクエストのタイトルにIssue番号を含めるルールも、単に記載を推奨するだけではなく、条件を満たさない場合にはマージをブロックできます。テンプレートと検証ルールを組み合わせることで、開発者に大きな負担をかけずに、必要な情報を残しやすくなります。
Releaseについても、タグを付けるだけで終わるのではなく、コミットメッセージに付与したChangelogの情報を使ってリリースノートを生成する流れまで確認できます。普段何気なく実施しているリリース作業が、GitLabの機能を組み合わせることで自動化できることを理解できました。

GitLabに慣れていなくても進めやすい

手順が丁寧に記載されているため、GitLabを使い始めたばかりの方でも、大きく迷わずに進められる内容だと感じました。操作するメニューや入力する値だけではなく、なぜその設定が必要なのか、設定を行うと何が変わるのかまで説明されています。説明.png

特に印象に残ったのは、Issueからマージリクエストを作成する流れです。
Issueの画面からマージリクエストを作成すると、関連するブランチの作成からマージリクエストの登録まで、そのまま画面上で進められます。作業の起点をIssueにすることで、計画と実装のつながりを維持しやすくなっています。MR作成.png

改めて操作してみると、GitLabは機能が多いだけではなく、開発者が次に実施すべき操作へ自然に進めるよう、画面の導線がきれいに設計されていると感じました。
GitLabには多くの機能があるため、最初はどこから触ればよいか迷うかもしれません。今回のように一つのワークフローに沿って操作すると、それぞれの機能を利用する理由も理解しやすくなります。

補足情報も必見

このハンズオンは、手順を完了するための情報だけでなく、実際の運用で注意したい補足情報も充実しています。ポイント.png

たとえば、最初のタグを作成する場合には比較対象となる直前のタグが存在しないことや、Secret Detectionで検出した文字列をファイルから削除してもGitの履歴には残ることなど、実際に運用を始めると遭遇しやすいポイントまで説明されています。
私が実施した際に「よくあるハマりどころ」として掲載されていた補足情報は、特に確認しておきたい内容でした。

ハンズオンを最初から実施する時間が取れない場合でも、補足部分を読むだけで新たな発見があるのではないでしょうか。

GitLabがワークフロー全体をカバーしていることを実感

今回のハンズオンを通じて最も強く感じたのは、GitLabがソースコードを保存するだけの場所ではなく、ソフトウェア開発のワークフロー全体を扱うプラットフォームであるということです。

EpicやIssueによる計画、ブランチとマージリクエストによる実装、CI/CDによる検証、Secret Detectionによるセキュリティチェック、タグとReleaseによるリリース管理までがGitLab上でつながっています。
個別の機能を別々のツールで実現することも可能ですが、情報が複数の場所へ分散すると、作業の経緯や判断理由を追いにくくなります。
GitLabでは、計画からリリースまでの情報が同じ場所に残るため、変更の目的、実装内容、レビュー結果、検証結果を一連の流れとして確認できます。

AI機能であるGitLab Duo Agent Platformも、AIエージェントをソフトウェア開発ライフサイクル全体へ組み込む考え方で設計されています。GitLab Duo Agentic Chatは、プロジェクト内のIssue、マージリクエスト、コミット、CI/CDパイプラインなどを参照しながら、質問への回答だけでなく、実装の提案や作業支援も行ってくれます。

こういった設計や仕組みを実感するための流れがしっかりと組み込まれているハンズオンでした。

ハンズオンを通しての気づき

この章ではハンズオン中に気になった点と、対処方法をご紹介します。

Agentic Chatからの自動生成で気づいたテンプレートの注意点

ハンズオンの途中では、GitLab Duo Agentic Chatを使って作業項目やマージリクエストを生成する検証も行いました。

ここで一つ気になったのが、Description Templateの扱いです。
GitLabの画面から手動で作成した場合には、ハンズオンで用意したテンプレートが適用されます。一方、今回Agentic Chatから自動生成した際には、同じテンプレートが生成結果へ反映されませんでした。

GitLabの作成画面を利用する場合と、AIエージェントがツールを通じて直接作成する場合では、必ずしも同じ処理が行われるわけではないと考えられます。そのため、テンプレートを用意しているからといって、AIエージェントが自動的にその内容を確認し、すべての項目を埋めてくれるとは限りません。

対策としては、毎回プロンプトで利用するテンプレートを指定する方法と、AGENTS.mdにプロジェクトのルールとして記載する方法が考えられます。

一度だけ試す場合であれば、プロンプトで「.gitlab/merge_request_templates/Default.mdを確認し、その形式でマージリクエストを作成してください」と指示する方法でも問題ありません。
一方、チームで継続的に利用する場合には、AGENTS.mdへ記載しておく方法を推奨します。

AGENTS.md整備の重要性

AGENTS.mdは、AIエージェント向けのREADMEのようなファイルです。
リポジトリの構造、コーディング規約、ビルド方法、テスト手順、プロジェクト固有のルールなどを記載し、対応するAIエージェントへ共有できます。

GitLab DuoとDevin(連携については後述)は、どちらもAGENTS.mdをサポートしています。プロジェクトのルートだけでなく、サブディレクトリにも配置できるため、モノレポや複数のコンポーネントを含むプロジェクトでは、ディレクトリごとに異なる指示を与えることも可能です。
(※)GitLab DuoにおけるAGENTS.mdの適用範囲は利用環境によって異なりますのでご注意ください。また、GitLab DuoのCode Review FlowはAGENTS.mdを参照しないため、レビュー固有のルールはmr-review-instructions.yamlに記載します。

今回のようなハンズオンであれば、次の内容をAGENTS.mdへ記載しておくとよいでしょう。

・Issue作成時は、指定されたIssue Templateの項目を満たすこと
・マージリクエストには、関連するIssue、変更内容、動作確認方法を記載すること
・マージリクエストの説明に、対象Issueをクローズする記述を含めること
・コミットメッセージに必要なChangelogの情報を付与すること
・作業対象となるIssueだけでなく、関連するEpicと子アイテムも確認すること
・変更後に実行すべきテストやCI/CDジョブを確認することAgents_テンプレ.png

プロンプトだけで運用すると、担当者ごとに指示内容が変わったり、必要な指示を忘れたりする可能性があります。
AGENTS.mdであれば、リポジトリと一緒にバージョン管理できます。内容を変更する際にはマージリクエストでレビューできるため、AIへの指示自体をチームの成果物として管理できます。
また、GitLab Duoだけ、Devinだけの専用設定にするのではなく、AGENTS.mdに対応した複数のAIツールで共通の指示として利用できる点もメリットです。

DevinとGitLabを連携してみた

今回の検証では個人的な追加検証として、GitLabの機能だけでなく、外部のAIコーディングエージェントであるDevinも連携してみました。
この章では連携した場合の動きの紹介に加え、連携時のポイント、連携を通しての気づきをまとめていきます。

DevinはGitLabリポジトリと接続することで、コードの確認や変更、マージリクエストの作成、マージリクエスト上のコメント確認などを行えます。
2026年6月19日には、Devin ReviewがGitLabのマージリクエストに対応しました。そのため今回のハンズオンでは、以前より活用可能であった「コーダー」としてのDevinに加え、「レビューワー」としてもDevinを採用しています。

実装(Devin Session)では要件をプロンプト化し、Devin Sessionを立ち上げます。要件と完了条件がGitLabのIssueに整理されているため、対象リポジトリを示したうえでIssue番号を指定するだけで、実装を依頼できました。
この際、対象リポジトリへのアクセス権を持つGitLabアクセストークンをDevinのシークレットに登録しておくことで、DevinがGitLab APIを通じてIssueの内容を取得できるようにしました。トークン.png

シークレットの設定画面

Issue実装.png

Issueを実装するDevin Session

詳細なSession実行中の動作に関しては今回言及しませんが、生成後は画面録画やスクリーンショットを含む詳細なテストレポートまで出力されました。テストレポート.png

テスト結果に関しては、GitLabのMR側にもコメントとして投稿されています。
テスト結果GitLab側.png
Devin Reviewでは、変更差分の整理、インラインコメント、コードベースを踏まえたAIチャット、Bug Catcher、自動レビューなどをGitLabのマージリクエストで利用できます。リポジトリを自動レビューの対象として登録しておけば、マージリクエストの作成やコミットの追加を契機にDevinが自動でレビューを実行することも可能になっています。

れびゅー2.png

Devinでのレビュー結果画面

実際に確認したところ、GitLabのマージリクエストに対してDevin Reviewがレビューを行い、結果をマージリクエスト上のコメントとして残すことができました。
レビュー結果がDevinの画面だけに閉じるのではなく、GitLabのマージリクエスト上にも残るため、他のメンバーも同じ内容を確認できます。れびゅー3.png

AIによる指摘、人間による判断、その後の修正までをマージリクエストのスレッドに残せることは、チーム開発において重要なポイントです。
このように、スムーズで役割分担も明確な連携が可能なため、実装からテスト、結果報告までを一つのタスクとして切り出し、Devinに任せる運用が考えられます。

DevinでもAGENTS.mdの指示を反映できた

AGENTS.mdにテンプレートの利用ルールを記載したことで、実装とマージリクエストの作成を依頼した際にこれらのルールが適用されました。
その結果、関連Issue、変更内容、動作確認方法など、指定した項目を含むマージリクエストを作成できることを確認しました。

Devinから作成.pngDevinが作成したMR

毎回のプロンプトで細かな記載項目を指定しなくても、リポジトリ側にルールを残しておくことで、一定の形式を維持しやすくなります。

一方で、Epicに登録されているChild itemsについては、明示的に指示しなければ確認されませんでした。
Issueの内容を読めるからといって、その親となるEpicや周辺の子アイテムまでAIエージェントが自動的に確認するとは限りません。
作業対象だけでなく関連する要件や作業項目も確認してほしい場合は、「関連するEpicとChild itemsを確認し、実装対象や依存関係を把握すること」といった指示をAGENTS.mdへ記載しておく方が安心です。Agents_3.png

この結果からも、AGENTS.mdにはコーディング規約だけでなく、「作業を始める前にどの情報を確認するか」という調査手順まで記載する必要があると感じました。

GitLabをワークフローの起点にするメリット

今回の検証を通じて、実装の一部をDevinに任せる場合でも、GitLabリポジトリを開発ワークフローの起点にするメリットを強く感じました。
特に実感したポイントを5つご紹介します。

1.作業の追跡性が高くなる

GitLabを起点にすると、Issue作成からブランチ、コミット、マージリクエスト、CI/CD、Releaseまでの一連の流れがすべて紐づきます。これにより「誰が・何のために・どのような変更を行ったのか」を後からでも正確に追跡できます。

2.AIエージェントの作業も同じプロセスに統合できる

DevinなどのAIがコードを生成した場合でも、Issueやマージリクエストを通すことで、人間と同じ開発フローに組み込めます。結果として、AIの作業もチームの正式な成果物として扱えるようになります。

3.既存のガバナンスルールをそのまま適用できる

保護ブランチ、承認ルール、Code Owners、CI/CDなどの仕組みをそのままAIの生成コードにも適用できます。AI専用の例外ルートを作る必要がなく、既存の開発ルールを維持したまま運用できます。

4.品質チェックを一元化できる

AIが生成したコードであっても、GitLabのCI/CDやセキュリティスキャン(SAST、Secret Detectionなど)を通すことで、同じ品質基準で検証できます。これにより、AIの出力をそのまま本番に入れるリスクを抑えられます。

5.AIエージェントの切り替えに強い構造になる

GitLab側にワークフローを集約しておくことで、利用するAIエージェントが変わっても開発プロセスを作り直す必要がありません。AIは実装担当、GitLabは管理・検証・記録という役割分担が明確になります。

ワークフローが用意されているからAI連携を試しやすい

外部のAIコーディングエージェントを評価する際、コードを生成できるかどうかだけを確認しても、実際の開発で利用できるかは判断できません。
実運用では、Issueの内容を理解できるか、ブランチやマージリクエストのルールを守れるか、CI/CDを通過できるか、レビュー結果を受けて修正できるか、作業記録をチームへ残せるかといった点も確認する必要があります。
これらを検証する環境をゼロから組み立てるのは、想像以上に大変です。

今回のハンズオンには、計画、実装、レビュー、セキュリティチェック、Releaseまでの流れが最初から用意されています。
そのため、途中の実装をDevinに任せたり、作成されたマージリクエストをDevin Reviewで確認したりすることで、外部のAIエージェントが既存の開発プロセスへどこまで参加できるのかを簡単に試せました。

GitLabの機能を学ぶためのハンズオンであると同時に、AIコーディングエージェントの検証環境としても使いやすい内容だと感じました。

まとめ

今回のハンズオンでは、Issueからマージリクエスト、CI/CD、セキュリティチェック、Releaseまでを体験し、GitLabが開発ワークフロー全体をカバーしていることを改めて実感しました。
また、GitLab Duo Agentic ChatやDevinを組み合わせることで、AIによる実装やレビューも同じワークフローへ組み込めることを確認できました。

AIエージェント単体の性能だけを見ると、「どの程度コードを書けるか」に注目しがちです。
しかし、本番環境で重要になるのは、AIが作成した変更を既存のルールに沿って管理し、テスト、レビュー、承認、リリースへつなげられるかどうかです。
GitLabのテンプレート、保護ブランチ、CI/CD、セキュリティ、Value Stream Analyticsなどを組み合わせることで、AIの出力をチームの開発プロセスへ無理なく取り込めます。

そして、AIエージェントを安定して活用するためには、AGENTS.mdの整備が欠かせません。
コーディング規約だけでなく、どのIssueを確認するか、関連するEpicやChild itemsをどこまでたどるか、どの形式でマージリクエストを作成するかまで明文化することで、AIエージェントをよりチームの一員に近い形で動かせます。

今回のハンズオンは、GitLabの機能を学ぶだけでなく、既存の開発機能とAIをどのように組み合わせるべきかを考える良い機会になりました。
是非皆さんも体験してみてください!

関連リンク

GitLab実践ハンズオン:https://qiita.com/GL_Tsukasa/items/1b73df8f1945c7653c25
GitLab公式ブログ:https://about.gitlab.com/ja-jp/blog/
GitLab Duo 公式ドキュメント:https://docs.gitlab.com/ja-jp/user/gitlab_duo/
DevOps Hub GitLab関連ブログ: /devops-hub/blog/gitlab/
Devin公式ドキュメント:https://docs.devin.ai/ja/get-started/devin-intro

GitLabの特設サイトはこちら

GitLab特設サイトでは、GitLabの製品情報や トライアル(無償試用版)をお申込みいただけます。 ぜひ、特設サイトをご確認ください。事項を記入いただくことで、資料がダウンロードできます。

この記事の著者:佐藤梨花

SB C&S株式会社 ICT事業本部 技術本部 技術統括部 第2技術部 2課

勤怠管理システムの開発(使用言語:Java)に約8年間従事。
現在はエンジニア時の経験を活かしたDevOpsやDX推進のプリセールスとして業務に精励しています。


DevOps Hubのアカウントをフォローして
更新情報を受け取る

  • Like on Feedly
    follow us in feedly

関連記事

このエントリーをはてなブックマークに追加

お問い合わせ

DevOpsに関することなら
お気軽にご相談ください。

Facebook、TwitterでDevOpsに関する
情報配信を行っています。