<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <id>https://about.gitlab.com/blog</id>
    <title>GitLab</title>
    <updated>2025-07-31T17:08:33.671Z</updated>
    <generator>https://github.com/jpmonette/feed</generator>
    <author>
        <name>The GitLab Team</name>
    </author>
    <link rel="alternate" href="https://about.gitlab.com/blog"/>
    <link rel="self" href="https://about.gitlab.com/ja-jp/atom.xml"/>
    <subtitle>GitLab Blog RSS feed</subtitle>
    <icon>https://about.gitlab.com/favicon.ico</icon>
    <rights>All rights reserved 2025</rights>
    <entry>
        <title type="html"><![CDATA[GitLab 18.2 リリース]]></title>
        <id>https://about.gitlab.com/ja-jp/blog/gitlab-18-02-release/</id>
        <link href="https://about.gitlab.com/ja-jp/blog/gitlab-18-02-release/"/>
        <updated>2025-07-18T00:00:00.000Z</updated>
        <content type="html"><![CDATA[<p>本ブログは、<a href="https://about.gitlab.com/releases/2025/07/17/gitlab-18-2-released/">GitLab 18.2 Release</a>の抄訳です。内容に相違がある場合は、原文が優先されます。</p>
<h2>IDE向けGitLab Duoエージェントプラットフォーム（ベータ版）とイシュー・タスク用カスタムワークフローステータスを追加したGitLab 18.2をリリース</h2>
<p>このたび、GitLab 18.2のリリースを発表しました。このリリースでは、IDE向けGitLab Duoエージェントプラットフォーム（ベータ版）、イシュー・タスク用カスタムワークフローステータス、新しくなったマージリクエストのホーム画面、セキュリティを強化する不変コンテナタグなど、さまざまな機能が追加されました。</p>
<p>これらの機能は、今回のリリースに含まれる30以上の改善点のほんの一部です。この記事では、お役に立つアップデートをすべてご紹介していますので、ぜひ最後までお読みください。</p>
<p>GitLab 18.2には、GitLabコミュニティのユーザーから152件ものコントリビュートがありました。ありがとうございました！GitLabは<a href="https://about.gitlab.com/community/contribute/">誰もがコントリビュートできる</a>プラットフォームであり、今回のリリースもユーザーのみなさまの協力なしには実現しませんでした。</p>
<p>来月のリリースで予定されている内容を先取りするには、<a href="https://about.gitlab.com/upcoming-releases/">今後のリリースページ</a>をご覧ください。</p>
<p><a href="http://twitter.com/share?text=GitLab+18.2%E3%81%AE%E3%83%AA%E3%83%AA%E3%83%BC%E3%82%B9%E3%81%A7%E3%81%AF%E3%80%81IDE%E5%90%91%E3%81%91GitLab+Duo%E3%82%A8%E3%83%BC%E3%82%B8%E3%82%A7%E3%83%B3%E3%83%88%E3%83%97%E3%83%A9%E3%83%83%E3%83%88%E3%83%95%E3%82%A9%E3%83%BC%E3%83%A0%EF%BC%88%E3%83%99%E3%83%BC%E3%82%BF%E7%89%88%EF%BC%89%E3%81%A8%E3%80%81%E3%82%A4%E3%82%B7%E3%83%A5%E3%83%BC%E3%83%BB%E3%82%BF%E3%82%B9%E3%82%AF%E7%94%A8%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%A0%E3%83%AF%E3%83%BC%E3%82%AF%E3%83%95%E3%83%AD%E3%83%BC%E3%82%B9%E3%83%86%E3%83%BC%E3%82%BF%E3%82%B9%E3%81%8C%E8%BF%BD%E5%8A%A0%E3%81%95%E3%82%8C%E3%81%BE%E3%81%97%E3%81%9F%E3%80%82&amp;url=https://about.gitlab.com/ja-jp/blog/gitlab-18-1-release/&amp;hashtags=">GitLab 18.2のリリースでは、IDE</a><a href="http://twitter.com/share?text=GitLab+18.2%E3%81%AE%E3%83%AA%E3%83%AA%E3%83%BC%E3%82%B9%E3%81%A7%E3%81%AF%E3%80%81IDE%E5%90%91%E3%81%91GitLab+Duo%E3%82%A8%E3%83%BC%E3%82%B8%E3%82%A7%E3%83%B3%E3%83%88%E3%83%97%E3%83%A9%E3%83%83%E3%83%88%E3%83%95%E3%82%A9%E3%83%BC%E3%83%A0%EF%BC%88%E3%83%99%E3%83%BC%E3%82%BF%E7%89%88%EF%BC%89%E3%81%A8%E3%80%81%E3%82%A4%E3%82%B7%E3%83%A5%E3%83%BC%E3%83%BB%E3%82%BF%E3%82%B9%E3%82%AF%E7%94%A8%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%A0%E3%83%AF%E3%83%BC%E3%82%AF%E3%83%95%E3%83%AD%E3%83%BC%E3%82%B9%E3%83%86%E3%83%BC%E3%82%BF%E3%82%B9%E3%81%8C%E8%BF%BD%E5%8A%A0%E3%81%95%E3%82%8C%E3%81%BE%E3%81%97%E3%81%9F%E3%80%82&amp;url=https://about.gitlab.com/ja-jp/blog/gitlab-18-1-release/&amp;hashtags=">向けGitLab Duoエージェントプラットフォーム（ベータ版）と、イシュー・タスク用カスタムワークフローステータスが追加されました。クリックしてSNSで共有しましょう！</a></p>
<h2>今月の<a href="https://contributors.gitlab.com/docs/notable-contributors">注目コントリビューター</a>は<a href="https://gitlab.com/karras"></a><a href="https://gitlab.com/chaitanyason9"></a><a href="https://gitlab.com/m-s-db">Markus Siebert</a>さんです</h2>
<p>&lt;img src=&quot;https://about.gitlab.com/images/notable-contributor-logo.svg&quot;&gt;</p>
<p>DB Systel GmbHのプラットフォームエンジニアであるMarkus Siebertさんは、GitLab CI/CDにネイティブなAWS Secrets Managerサポートを導入するコミュニティの取り組みを主導しています。これは、パイプラインでの安全なシークレット管理という重要なエンタープライズニーズに応えるものです。わずか6週間で172件もの活動を記録し、「<a href="https://gitlab.com/gitlab-org/gitlab-runner/-/merge_requests/5587">AWS Secrets Managerからのシークレット取得機能の追加</a>」「<a href="https://gitlab.com/gitlab-org/gitlab/-/merge_requests/191803">AWS SSM ParameterStore用GitLab CI設定エントリの追加</a>」「<a href="https://gitlab.com/gitlab-org/gitlab/-/merge_requests/192378">AWS Secrets Managerのドキュメント作成</a>」など、複数のマージリクエストを通じてAWS Secrets ManagerとAWS Systems Manager Parameter Storeの両方のサポート実装に精力的に取り組んでいます。</p>
<p>Markusさんを推薦したGitLabの<a href="https://gitlab.com/atiwari71">Aditya Tiwari</a>（Secureチームのシニアバックエンドエンジニア）は次のように述べています。「Markusさんの取り組みにより、AWS環境を利用する GitLabユーザーは、サードパーティツールやカスタムスクリプトに頼ることなく、CI/CDシークレットを安全に管理できるようになりました。これは、AWSサービスを標準化しているエンタープライズユーザーにとって特に価値のある機能です。」</p>
<p>初期実装からドキュメント作成まで、この機能を完成させようとするMarkusさんの献身的な姿勢、そしてフィードバックに基づいてマージリクエストを継続的に改善する取り組みは、コミュニティコントリビューションの理想的な例です。また、AWS ユーザーのためにGitLabをより良いものにするコミュニティ主導開発の力を示しています。</p>
<p>このコントリビュートはGitLab共同開発プログラムを通じて実現されました。</p>
<p>この場を借りて、GitLabにコントリビュートしてくれたMarkusさんに感謝します！</p>
<h2>GitLab 18.2でリリースされた主な改善点</h2>
<h3>IDEでGitLab Duoエージェントプラットフォームが利用可能に（ベータ版）</h3>
<blockquote>
<p>SaaS: Premium、Ultimate、Duo Core、Duo Pro、Duo Enterprise<br>
Self-Managed: Premium、Ultimate、Duo Core、Duo Pro、Duo Enterprise</p>
</blockquote>
<p>GitLab Duoエージェントプラットフォームを使用して、VS CodeとJetBrains IDEでAgentic Chatとエージェントフローを直接利用できるようになりました。コードベースやGitLabプロジェクトと自然な会話形式でやりとりできます。</p>
<p>Agentic Chatは、ファイルの作成・編集、パターンマッチングやgrepを使用したコードベース全体の検索、コードに関する質問への即座の回答など、素早く会話的なタスクに対応しています。</p>
<p>Agent Flowは、より大規模な実装や包括的な計画を担当し、概念からアーキテクチャまでの高レベルなアイデアを実現しながら、イシュー、マージリクエスト、コミット、CI/CDパイプライン、セキュリティ脆弱性などのGitLabリソースにアクセスします。</p>
<p>どちらの機能も、ドキュメント、コードパターン、プロジェクト探索のための高度な検索機能を備えており、簡単な編集から複雑なプロジェクト分析まで、様々なタスクの実行をサポートします。</p>
<p>このプラットフォームは、Model Context Protocol（MCP）にも対応しており、外部のデータソースやツールへの接続が可能で、AI機能がGitLab上の情報だけでなく外部のコンテキストも活用できます。</p>
<p>利用を開始するには、<a href="https://docs.gitlab.com/user/duo_agent_platform/">GitLab Duoエージェントプラットフォームに関するドキュメント</a>、<a href="https://docs.gitlab.com/user/gitlab_duo_chat/agentic_chat/#use-agentic-chat-in-vs-code">VS Codeセットアップガイド</a>、<a href="https://docs.gitlab.com/user/gitlab_duo_chat/agentic_chat/#use-agentic-chat-in-jetbrains-ides">JetBrainsセットアップガイド</a>をご覧ください。</p>
<p><a href="https://docs.gitlab.com/user/duo_agent_platform/">ドキュメント</a><br>
<a href="https://gitlab.com/gitlab-org/editor-extensions/gitlab-lsp/-/issues/1217">イシュー</a></p>
<p><a href="https://gitlab.com/groups/gitlab-org/-/epics/14137"></a>&lt;!-- blank line --&gt;</p>
<p>&lt;figure class=&quot;video_container&quot;&gt;
&lt;iframe src=&quot;https://www.youtube.com/embed/GPewPbqlFDE?si=C7LVy7tWpRGyZT7b&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;true&quot;&gt; &lt;/iframe&gt;
&lt;/figure&gt;
&lt;!-- blank line --&gt;</p>
<h3>イシュー・タスク用カスタムワークフローステータス</h3>
<blockquote>
<p>SaaS: Premium、Ultimate<br>
Self-Managed: Premium、Ultimate</p>
</blockquote>
<p>ステータス設定が柔軟になったことで、これまでの「オープン／クローズ」だけの単純な管理方法に代わり、チームの実際のワークフローステージに沿って作業アイテムを追跡できるようになりました。</p>
<p>チームのプロセスを正確に反映したカスタムステータスを定義できるようになったことで、ラベルに頼る必要がなくなりました。ステータスを自由に設定することで、次のことが可能になります。</p>
<ul>
<li><strong>カスタムワークフローの定義</strong>：チームの実際のプロセスに合わせたワークフローを作成</li>
<li><strong>ワークフローラベルの置き換え</strong>：ワークフローラベルを検索、更新、レポートしやすい適切なステータスに変更</li>
<li><strong>完了結果の明確化</strong>：「完了」または「キャンセル」を使用して、単にイシューをクローズするだけでなく、完了の結果を明確に表示</li>
<li><strong>正確なフィルタリングとレポート</strong>：作業アイテムのステータスを正確に絞り込んでレポートし、プロジェクトの状況をより的確に把握</li>
<li><strong>イシューボードでのステータス利用</strong>：イシューが列間を移動した際にステータスを自動更新</li>
<li><strong>ステータスの一括更新</strong>：複数の作業アイテムのステータスを一括更新して効率的に管理</li>
<li><strong>依存関係の追跡</strong>： リンクされた作業アイテムのステータスを可視化</li>
</ul>
<p>カスタムワークフローステータスは、<strong>コメントでのクイックアクション</strong>にも対応し、GitLabのオープン／クローズシステムと自動で同期します。</p>
<p>本機能の改善に向けたご意見やご提案を、ぜひ<a href="https://gitlab.com/gitlab-com/www-gitlab-com/-/issues/35235">フィードバックイシュー</a>よりお寄せください。</p>
<p><a href=""></a>&lt;!-- blank line --&gt;</p>
<p>&lt;figure class=&quot;video_container&quot;&gt;
&lt;iframe src=&quot;https://www.youtube.com/embed/oxN95MSo6UU?si=iYGB7gF9LSsRULhk&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;true&quot;&gt; &lt;/iframe&gt;
&lt;/figure&gt;
&lt;!-- blank line --&gt;</p>
<h3>新しくなったマージリクエストのホーム画面</h3>
<blockquote>
<p>SaaS: Free、Premium、Ultimate<br>
Self-Managed: Free、Premium、Ultimate</p>
</blockquote>
<p>複数のプロジェクトで、作成者とレビュアーの両方の立場で多数のマージリクエストを同時に対応していると、コードレビューの管理は非常に大変になります。</p>
<p>マージリクエストのホーム画面が新しくなりました。早急に対応が必要な作業がわかるようスマートに優先順位を付け、以下の2つの表示モードを使用してレビュー作業の進め方を示してくれます。</p>
<ul>
<li><strong>ワークフロービュー</strong>：マージリクエストをレビューのステータスごとに整理し、コードレビューの各ステージに応じて作業をグループ化</li>
<li><strong>ロールビュー</strong>：自分が作成者かレビュアーかによってマージリクエストをグループ化し、担当作業の範囲を明確に分離</li>
</ul>
<p><strong>有効</strong>タブには対応が必要なマージリクエストが表示され、<strong>マージ済み</strong>タブには最近完了した作業が表示されます。また、<strong>検索</strong>では包括的なフィルタ機能を使用できます。</p>
<p>また、新しいホーム画面では、自分が作成したマージリクエストと割り当てられたマージリクエストの両方がまとめて表示されるため、可視性がさらに向上し、担当作業の見落としを防ぐことができます。</p>
<p><a href="https://docs.gitlab.com/user/project/merge_requests/homepage/">ドキュメント</a><br>
<a href="https://gitlab.com/groups/gitlab-org/-/epics/13448">エピック</a></p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1752817030/ehswaenxkydlwbox0ip3.png" alt="新しくなったマージリクエストのホーム画面"></p>
<h3>不変コンテナタグでセキュリティを強化</h3>
<blockquote>
<p>SaaS: Ultimate<br>
Self-Managed: Ultimate</p>
</blockquote>
<p>コンテナレジストリは、現代のDevSecOpsチームにとって重要なインフラストラクチャです。しかし、保護されたコンテナタグがあっても、組織には依然として課題があります。それは、タグが作成された後でも、十分な権限を持つユーザーであれば変更できてしまうという点です。これは、本番環境の安定性を特定のタグ付きコンテナイメージに依存しているチームにとってリスクとなります。権限を持つユーザーによる変更であっても、意図しない変更が発生したり、デプロイの整合性が損なわれたりする可能性があります。</p>
<p>不変コンテナタグを使用することで、コンテナイメージを意図しない変更から保護できます。不変ルールに一致するタグが作成されると、そのコンテナイメージは誰にも変更できなくなります。今後は以下のことが可能になります。</p>
<ul>
<li>保護ルールおよび不変ルールを合わせて、1プロジェクトあたり最大5件までの保護ルールをRE2正規表現パターンを用いて作成する</li>
<li>latest、セマンティックバージョン（例：v1.0.0）、リリース候補といった重要なタグをあらゆる変更から保護する</li>
<li>不変タグがクリーンアップポリシーの対象から自動的に除外されるようにする</li>
</ul>
<p>不変コンテナタグを使用するには、次世代コンテナレジストリが必要です。このレジストリは、GitLab.comではデフォルトで有効になっています。GitLab Self-Managedインスタンスで不変コンテナタグを使用するには、<a href="https://docs.gitlab.com/administration/packages/container_registry_metadata_database/">メタデータデータベース</a>を有効にする必要があります。</p>
<p><a href="https://docs.gitlab.com/user/packages/container_registry/immutable_container_tags/">ドキュメント</a><br>
<a href="https://gitlab.com/groups/gitlab-org/-/epics/15139">エピック</a><a href="https://gitlab.com/groups/gitlab-org/-/epics/15139"></a></p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1752817030/xfcqsdjotx4acx96nu5b.png" alt="不変コンテナタグでセキュリティを強化"></p>
<h3>PremiumおよびUltimateにおけるGitLab Duoの機能をグループ・プロジェクト単位で制御</h3>
<blockquote>
<p>SaaS: Premium、Ultimate<br>
Self-Managed: Premium、Ultimate</p>
</blockquote>
<p>GitLab PremiumおよびUltimateユーザーは、グループとプロジェクトでIDE内のコード提案とGitLab Duo Chatの利用可否を変更できるようになりました。以前は、インスタンスまたはトップレベルグループでのみ利用可否を変更できました。</p>
<p><a href="https://docs.gitlab.com/user/gitlab_duo/turn_on_off/">ドキュメント</a><br>
<a href="https://gitlab.com/gitlab-org/gitlab/-/issues/551895">イシュー</a></p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1752817030/khiyfhuutomokxjkgsul.png" alt="PremiumおよびUltimateにおけるGitLab Duoの機能をグループ・プロジェクト単位で制御"></p>
<h3>新しいグループ概要コンプライアンスダッシュボード</h3>
<blockquote>
<p>SaaS: Ultimate<br>
Self-Managed: Ultimate</p>
</blockquote>
<p>コンプライアンスセンターは、コンプライアンスチームがコンプライアンスステータスのレポート、違反レポート、コンプライアンスフレームワークの管理などを一括して行える場所です。</p>
<p>新たに導入されたグループ概要コンプライアンスダッシュボードは、グループ内のすべてのプロジェクトに関するコンプライアンス情報を集約してコンプライアンスマネージャーに提供します。この最初のイテレーションでは、以下の情報が表示されます。</p>
<ul>
<li>特定のコンプライアンスフレームワークの対象となっているプロジェクトの割合</li>
<li>グループ内すべてのプロジェクトで失敗した要求事項の割合</li>
<li>グループ内すべてのプロジェクトで失敗した制御の割合</li>
<li>「注意」が必要な特定のフレームワーク</li>
</ul>
<p>この新しいグループ概要により、コンプライアンスマネージャーは、コンプライアンス対応状況の明確な全体像を一元的な画面で把握できるようになりました。</p>
<p><a href="https://docs.gitlab.com/user/compliance/compliance_center/compliance_overview_dashboard/">ドキュメント</a><br>
<a href="https://gitlab.com/groups/gitlab-org/-/epics/13909">エピック</a></p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1752817030/rttcgovqszvnwqgqw1z5.png" alt="新しいグループ概要コンプライアンスダッシュボード"></p>
<h3>インスタンス全体で利用可能なワークスペースKubernetesエージェント</h3>
<blockquote>
<p>Self-Managed: Premium、Ultimate</p>
</blockquote>
<p>GitLab管理者は、インスタンスレベルでワークスペースKubernetesエージェントをマッピングできるようになりました。これにより、ユーザーはそのインスタンスに含まれるどのグループやプロジェクトからでも、ワークスペースを作成できるようになりました。</p>
<p>組織はワークスペースKubernetesエージェントを一度プロビジョニングするだけで、インスタンス全体の現在および将来のすべてのプロジェクトからそのエージェントにアクセスできるようになり、ワークスペースのスケーラビリティが大幅に向上します。</p>
<p><a href="https://docs.gitlab.com/user/workspace/gitlab_agent_configuration/#allow-a-cluster-agent-for-workspaces-on-the-instance">ドキュメント</a>
<a href="https://gitlab.com/groups/gitlab-org/-/epics/16485">エピック</a></p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1752817031/if68jfrt7op0tqnsb2co.png" alt="インスタンス全体で利用可能なワークスペースKubernetesエージェント"></p>
<h3>セキュリティレポートのPDFエクスポートがダウンロード可能に</h3>
<blockquote>
<p>SaaS: Ultimate<br>
Self-Managed: Ultimate</p>
</blockquote>
<p>脆弱性管理の状況や進捗を他の関係者と共有するために、各プロジェクトまたはグループのセキュリティダッシュボードをPDFドキュメントとしてエクスポートできるようになりました。</p>
<p><a href="https://docs.gitlab.com/user/application_security/security_dashboard/#exporting">ドキュメント</a><br>
<a href="https://gitlab.com/groups/gitlab-org/-/epics/16989">エピック</a></p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1752817035/xsuirbb1qrpnkamx9a9o.png" alt="セキュリティレポートのPDFエクスポートがダウンロード可能に"></p>
<h3>一元的なセキュリティポリシー管理（ベータ版）</h3>
<blockquote>
<p>Self-Managed: Ultimate</p>
</blockquote>
<p>コンプライアンスが重要となる大規模な組織では、複数のプロジェクトやグループにポリシーが分散していることが多く、チームはその断片化されたポリシーの管理に苦労することがあります。ポリシーが一元的に可視化されていない状態では、ポリシーを一貫して適用するのに時間がかかり、コンプライアンスリスクの増大にもつながります。</p>
<p>一元的なセキュリティポリシー管理は、GitLab組織全体にわたってセキュリティポリシーを作成、管理、適用するための統一されたアプローチを導入するものであり、指定された単一のコンプライアンスおよびセキュリティポリシー（CSP）グループを通じて実現されます。これにより、セキュリティチームは以下のことを行えるようになります。</p>
<ul>
<li><strong>一度の定義でポリシーを全体に適用</strong>：CSPグループを通じてインスタンス全体に適用されるセキュリティポリシーを一度作成し、すべてのグループとプロジェクトに対して自動的に適用</li>
<li><strong>事業部単位のポリシーを設定</strong>：トップレベルグループは、CSPグループから組織全体のポリシーを継承しつつ、独自のポリシーセットを設定可能</li>
<li><strong>最小権限の原則を遵守</strong>：インスタンス全体に適用される中央ポリシー管理レイヤーを確立</li>
</ul>
<p>このベータ版リリースでは、一元的なポリシー管理のための基盤となるフレームワークを確立し、グループ、プロジェクト、またはインスタンス単位で設定可能なすべての既存のセキュリティポリシータイプに対応しています。</p>
<p><a href="https://docs.gitlab.com/user/application_security/policies/centralized_security_policy_management/">ドキュメント</a><br>
<a href="https://gitlab.com/groups/gitlab-org/-/epics/17392">エピック</a></p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1752817030/jombwhyuvqsif4k7kjvn.png" alt="一元的なセキュリティポリシー管理（ベータ版）"></p>
<h2>GitLab 18.2リリースに含まれるその他の改善点</h2>
<h3>管理者がユーザーの確認なしでコントリビュートを再アサイン可能に</h3>
<blockquote>
<p>Self-Managed: Free、Premium、Ultimate</p>
</blockquote>
<p>管理者は、プレースホルダユーザーからアクティブユーザーへのコントリビュートの再アサインを、ユーザーの確認なしで実行できるようになりました。この機能は、再アサインの承認メールをユーザーが確認しないことでプロセスが停滞してしまうという、大規模組織が抱える重要な課題を解決します。</p>
<p>ユーザーの代理操作が有効になっているGitLabインスタンスでは、管理者はユーザー管理のワークフローを効率化しつつ、データの整合性を維持することができます。再アサイン完了後には、ユーザーに通知メールが送信されるため、プロセス全体における透明性も確保されます。</p>
<p><a href="https://docs.gitlab.com/administration/settings/import_and_export_settings/#skip-confirmation-when-reassigning-placeholder-users">ドキュメント</a><br>
<a href="https://gitlab.com/gitlab-org/gitlab/-/issues/523259">イシュー</a></p>
<h3>チームメンバーにエピックを割り当て</h3>
<blockquote>
<p>SaaS: Premium、Ultimate<br>
Self-Managed: Premium、Ultimate</p>
</blockquote>
<p>個人へのエピックの割り当てが可能になり、戦略的イニシアチブの責任者が明確になりました。エピックに担当者を設定することで、ポートフォリオレベルで誰が責任を持つかが明確になり、迅速な意思決定と長期目標への明確な責任体制を構築できます。チームは、エピックの進捗状況、依存関係、スコープの変更について、誰に連絡すればよいかをすぐに把握できます。</p>
<p><a href="https://docs.gitlab.com/user/group/epics/manage_epics/#assignees">ドキュメント</a><br>
<a href="https://gitlab.com/groups/gitlab-org/-/epics/4231">エピック</a></p>
<p><img src="https://about.gitlab.com/images/18_2/epic_assignees.png" alt="チームメンバーにエピックを割り当て"></p>
<h3>エピックの表示設定</h3>
<blockquote>
<p>SaaS: Premium、Ultimate<br>
Self-Managed: Premium、Ultimate</p>
</blockquote>
<p>作業アイテムの一覧を表示する際に、どのメタデータを表示するかを自由に選べるようになり、最も重要な情報に集中しやすくなりました。</p>
<p>これまでは、すべてのメタデータフィールドが常に表示されていたため、作業アイテムを確認する際に情報が多すぎて把握しにくい状況でした。今回の改善により、担当者、ラベル、日付、マイルストーンといった特定のフィールドのオン／オフを切り替えて、表示内容をカスタマイズできるようになりました。</p>
<p><a href="https://docs.gitlab.com/user/group/epics/manage_epics/#configure-epic-display-preferences">ドキュメント</a><br>
<a href="https://gitlab.com/gitlab-org/gitlab/-/issues/393559">イシュー</a></p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1753246094/nyfmmdweksyndjdisfp4.png" alt="エピックの表示設定"></p>
<h3>GLQLビューでの並べ替えとページネーション</h3>
<blockquote>
<p>SaaS: Free、Premium、Ultimate<br>
Self-Managed: Free、Premium、Ultimate</p>
</blockquote>
<p>今回のリリースでは、GLQLビューの並べ替え機能とページネーション機能が強化され、大規模なデータセットでの作業がより簡単になりました。</p>
<p>期限、ヘルスステータス、人気度などの主要なフィールドで並び替えできるようになり、最も関連性の高い項目をすばやく見つけられます。新しい「さらに読み込む」形式のページネーションシステムにより、ページ全体に表示されていた大量の結果が、必要な分だけを段階的に読み込めるようになり、データの管理がしやすくなりました。</p>
<p>こうした改善により、チームは複雑なプロジェクトデータを効率的に扱い、その時々で最も重要な情報に集中できるようになります。</p>
<p><a href="https://docs.gitlab.com/user/glql/#presentation-syntax">ドキュメント</a><br>
<a href="https://gitlab.com/gitlab-org/gitlab/-/issues/502701">イシュー</a></p>
<h3>GitLab Runner 18.2</h3>
<blockquote>
<p>SaaS: Free、Premium、Ultimate<br>
Self-Managed: Free、Premium、Ultimate</p>
</blockquote>
<p>GitLab Runner 18.2も本日リリースされます！GitLab Runnerは、CI/CDジョブを実行し、結果をGitLabインスタンスに送信する、拡張性の高いビルドエージェントです。GitLabに含まれるオープンソースの継続的インテグレーションサービスであるGitLab CI/CDと連携して動作します。</p>
<p>バグ修正：</p>
<ul>
<li><a href="https://gitlab.com/gitlab-org/gitlab-runner/-/issues/38890">GitLab Runner 18.1.0へのアップグレード後、FIPSモードでRunnerが失敗する</a></li>
<li><a href="https://gitlab.com/gitlab-org/gl-openshift/gitlab-runner-operator/-/issues/241">FF_USE_DUMB_INIT_WITH_KUBERNETES_EXECUTORでジョブポッドを起動できない</a></li>
<li><a href="https://gitlab.com/gitlab-org/gitlab-runner/-/issues/38273">GitLab Runner（FIPSモード）でubi-fipsイメージがデフォルトのイメージフレーバーとして使用されていない</a></li>
<li><a href="https://gitlab.com/gitlab-org/gitlab-runner/-/issues/29181">GitLabメンテナンスモードを無効にした後、Runnerが長時間オフラインのままになる</a></li>
</ul>
<p>すべての変更の一覧は、GitLab Runnerの<a href="https://gitlab.com/gitlab-org/gitlab-runner/blob/18-2-stable/CHANGELOG.md">変更履歴で確認できます</a>。</p>
<p><a href="https://docs.gitlab.com/runner/">ドキュメント</a></p>
<h3>コンテナスキャンにおけるマルチアーキテクチャコンテナイメージのサポート</h3>
<blockquote>
<p>SaaS: Ultimate<br>
Self-Managed: Ultimate</p>
</blockquote>
<p>コンテナスキャンにLinux Arm64コンテナイメージバリアントが追加されました。これにより、Linux Arm64ランナー上で実行する際にアナライザーがエミュレーションなしで動作するため、分析速度が向上します。さらに、<code>TRIVY_PLATFORM</code>環境変数にスキャンしたいプラットフォームを設定することで、マルチアーキテクチャイメージをスキャンできるようになりました。</p>
<p><a href="https://docs.gitlab.com/user/application_security/container_scanning/#available-cicd-variables">ドキュメント</a><br>
<a href="https://gitlab.com/gitlab-org/gitlab/-/issues/543144">イシュー </a></p>
<h3>コンテナスキャンにおけるアーカイブファイルのサポート強化</h3>
<blockquote>
<p>SaaS: Free、Premium、Ultimate<br>
Self-Managed: Free、Premium、Ultimate</p>
</blockquote>
<p>GitLab 18.2では、コンテナスキャンにおけるアーカイブファイルスキャンのサポートが強化されました。特定のパッケージに含まれる脆弱性が複数のイメージで検出された場合、スキャンされた各イメージに対して該当する脆弱性が表示されるようになりました。</p>
<p><a href="https://docs.gitlab.com/user/application_security/container_scanning/#scanning-archive-formats">ドキュメント</a><br>
<a href="https://gitlab.com/gitlab-org/gitlab/-/issues/501077">イシュー</a></p>
<h3>JavaScriptで静的到達可能性がサポートされるように</h3>
<blockquote>
<p>SaaS: Ultimate<br>
Self-Managed: Ultimate</p>
</blockquote>
<p>コンポジション解析で、JavaScriptライブラリの静的到達可能性がサポートされるようになりました。トリアージや修正に関する意思決定を行う上で、静的到達可能性機能によって生成されたデータを活用できます。また、静的な到達性データをEPSS、KEV、およびCVSS（共通脆弱性評価システム）のスコアと一緒に使用すれば、より焦点を絞って脆弱性を確認することも可能です。</p>
<p><a href="https://docs.gitlab.com/user/application_security/dependency_scanning/static_reachability/#supported-languages-and-package-managers">ドキュメント</a><br>
<a href="https://gitlab.com/gitlab-org/gitlab/-/issues/502334">イシュー</a></p>
<h3>脆弱性レポートにおける到達可能性フィルター</h3>
<blockquote>
<p>SaaS: Ultimate<br>
Self-Managed: Ultimate</p>
</blockquote>
<p>脆弱性レポート内のデータを到達可能な脆弱性のみに絞り込めるようになりました。到達可能な脆弱性とは、次の両方の条件を満たす脆弱性を指します。</p>
<ul>
<li>共通脆弱性識別子（CVE）リストに掲載されている</li>
<li>明示的にインポートされているライブラリに含まれている</li>
</ul>
<p><a href="https://docs.gitlab.com/user/application_security/vulnerability_report/#filtering-vulnerabilities">ドキュメント</a><br>
<a href="https://gitlab.com/gitlab-org/gitlab/-/issues/543346">イシュー</a></p>
<p><img src="https://about.gitlab.com/images/18_2/reachability_filter.png" alt="脆弱性レポートにおける到達可能性フィルター"></p>
<h3>承認ポリシーにおけるソースブランチパターンの例外設定</h3>
<blockquote>
<p>SaaS: Ultimate<br>
Self-Managed: Ultimate</p>
</blockquote>
<p>これまで、GitFlowを使用するチームは、<code>release/*</code>ブランチを<code>main</code>にマージする際に、承認のデッドロックが頻繁に発生していました。これは、ほとんどのコントリビューターがリリース開発にすでに関与しており、承認者として機能できなくなるためです。</p>
<p>マージリクエスト承認ポリシーのブランチパターン例外設定によって、この問題は解決されます。特定のソースブランチとターゲットブランチの組み合わせに対して、承認要件を自動的に回避できる仕組みです。たとえば、featureからmainへのマージには厳格な承認を設定しつつ、releaseからmainへのマージはスムーズに進められるように構成できます。</p>
<p>主要機能：</p>
<ul>
<li><strong>パターンベースの設定</strong>：<code>release/*</code>や<code>hotfix/*</code>などのソースブランチパターンを定義し、承認要件を回避</li>
<li><strong>シームレスな統合</strong>：ブランチの例外設定は既存のマージリクエスト承認ポリシーに直接統合され、UIまたは<code>policy.yaml</code>ファイルを通じて設定可能</li>
</ul>
<p>これにより、複雑な回避策が不要になると同時に、標準的な開発ワークフローにおけるマージリクエスト承認ポリシーのセキュリティ上の利点は維持されます。</p>
<p><a href="https://docs.gitlab.com/user/application_security/policies/merge_request_approval_policies/#source-branch-exceptions">ドキュメント</a><br>
<a href="https://gitlab.com/groups/gitlab-org/-/epics/18113">エピック</a></p>
<p><img src="https://about.gitlab.com/images/18_2/source-branch-pattern.png" alt="承認ポリシーにおけるソースブランチパターンの例外設定"></p>
<h3>脆弱性レポートのCSVエクスポートに脆弱性IDを追加</h3>
<blockquote>
<p>SaaS: Ultimate<br>
Self-Managed: Ultimate</p>
</blockquote>
<p>これまで、脆弱性レポートのCSVエクスポートに脆弱性IDは含まれていませんでしたが、CSVエクスポートに各脆弱性のIDが一覧表示されるようになりました。</p>
<p><a href="https://docs.gitlab.com/user/application_security/vulnerability_report/#exporting">ドキュメント</a><br>
<a href="https://gitlab.com/groups/gitlab-org/-/epics/18033">エピック</a></p>
<h3>カスタム管理者ロール（ベータ版）</h3>
<blockquote>
<p>Self-Managed: Ultimate</p>
</blockquote>
<p>この新しいカスタム管理者ロールでは、GitLab Self-ManagedおよびGitLab Dedicatedインスタンスの管理者エリアで権限を細かく調整できるようになります。管理者は、従来のようにすべてのアクセス権を付与するのではなく、必要とする特定の機能のみにアクセスできる専用のロールを作成できます。これにより、管理機能に対する最小権限の原則を組織内で実現し、過剰な権限によるセキュリティリスクを低減し、業務効率性を向上させることができます。</p>
<p>この機能に関するコミュニティのみなさまからのフィードバックを心よりお待ちしております。ご質問や実装経験の共有、改善点に関して当社チームへのご意見がある場合は、<a href="https://gitlab.com/gitlab-org/gitlab/-/issues/509376">フィードバックイシュー</a>をご確認ください。</p>
<p><a href="https://docs.gitlab.com/user/custom_roles/">ドキュメント</a><br>
<a href="https://gitlab.com/groups/gitlab-org/-/epics/15069">エピック</a></p>
<p><img src="https://about.gitlab.com/images/18_2/sscs_authz_custom_admin_role.png" alt="カスタム管理者ロール（ベータ版）"></p>
<h3>監査ストリーミング先へのストリーミングの無効化</h3>
<blockquote>
<p>SaaS: Ultimate<br>
Self-Managed: Ultimate</p>
</blockquote>
<p>これまで、監査ストリーミング先へのストリーミングを一時的に無効化する方法がありませんでした。たとえば、ストリーム接続のトラブルシューティングを行いたい場合や、設定の削除・再構成を行わずに変更を加えたい場合など、さまざまな理由で一時的に無効化したいケースが考えられます。</p>
<p>GitLab 18.2では、監査ストリームを「有効」または「無効」に切り替える機能が追加されました。監査ストリームが無効になると、監査イベントは指定された送信先へストリーミングされなくなります。アクティブに切り替えると、監査イベントのストリーミングが再開されます。</p>
<p><a href="https://docs.gitlab.com/administration/compliance/audit_event_streaming/#activate-or-deactivate-streaming-destinations">ドキュメント</a><br>
<a href="https://gitlab.com/gitlab-org/gitlab/-/issues/537096">イシュー</a></p>
<h3>すべての監査ストリーミング先でフィルタ機能が利用可能に</h3>
<blockquote>
<p>SaaS: Ultimate<br>
Self-Managed: Ultimate</p>
</blockquote>
<p>これまでは、一部の監査ストリーミング先では、利用できるフィルタ機能に制限がありました。</p>
<p>今回の改善により、すべての監査ストリーミング先で、UI上で以下のような項目を指定して絞り込めるようになりました。</p>
<ul>
<li>監査イベントタイプ別</li>
<li>グループまたはプロジェクト別</li>
</ul>
<p>また、AWSやGCPなどの監査イベント先でも、監査イベントの絞り込みが可能になりました。</p>
<p><a href="https://docs.gitlab.com/user/compliance/audit_event_streaming/">ドキュメント</a><br>
<a href="https://gitlab.com/gitlab-org/gitlab/-/issues/524939">イシュー</a></p>
<h3>プレースホルダユーザーから非アクティブユーザーへの再アサイン</h3>
<p>Self-Managed: Free、Premium、Ultimate</p>
<p>これまで、管理者はプレースホルダユーザーからアクティブユーザーに対してのみ、コントリビュートやメンバーシップを再アサインできました。</p>
<p>GitLab Self-Managedでは、管理者によるプレースホルダユーザーから非アクティブユーザーへのコントリビュートやメンバーシップの再アサインも可能になりました。この機能により、ブロック済み、BAN済み、または無効化済みユーザーのコントリビュート履歴やメンバーシップ情報をGitLabインスタンス上で保持することができます。</p>
<p>管理者は最初にこの設定を有効化する必要があります。有効化すると、安全なアクセス制御を維持しながら、再アサイン時のユーザー確認をスキップしてユーザー管理を効率化できます。</p>
<p><a href="https://docs.gitlab.com/administration/settings/import_and_export_settings/#skip-confirmation-when-administrators-reassign-placeholder-users">ドキュメント</a><br>
<a href="https://gitlab.com/gitlab-org/gitlab/-/issues/523260">イシュー</a></p>
<h3>長期計画の強化に向けたエピックへのマイルストーン割り当て</h3>
<blockquote>
<p>SaaS: Premium、Ultimate<br>
Self-Managed: Premium、Ultimate</p>
</blockquote>
<p><a href="https://docs.gitlab.com/user/project/milestones/">マイルストーン</a>をエピックに直接割り当てることが可能になり、戦略的なイニシアティブから実行に至るまで、段階的な計画の流れを自然に作成できるようになりました。この機能強化により、四半期ごとの計画やSAFeプログラムインクリメント（PI）といった長期的な計画サイクルをエピックと連携させることができます。一方で、イテレーションは開発スプリントに特化させることができます。</p>
<p>この明確な階層構造により、管理上の負担を軽減し、戦略的なイニシアティブが組織のタイムフレームに沿ってどのように進捗しているかをより適切に把握できるようになります。</p>
<p><a href="https://docs.gitlab.com/user/project/milestones/">ドキュメント</a><br>
<a href="https://gitlab.com/groups/gitlab-org/-/epics/329">エピック</a></p>
<p><a href="https://gitlab.com/groups/gitlab-org/-/epics/329"></a></p>
<p><img src="https://about.gitlab.com/images/18_2/epic_milestone.png" alt="長期計画の強化に向けたエピックへのマイルストーン割り当て"></p>
<h3>エピックページでエピックをドロワーまたは全ページで表示</h3>
<blockquote>
<p>SaaS: Premium、Ultimate<br>
Self-Managed: Premium、Ultimate</p>
</blockquote>
<p>エピック一覧ページに新たに追加されたトグルを切り替えて、エピックをドロワー表示で開くか、全ページ表示で開くかを選べるようになりました。</p>
<p>ドロワー表示を使えば、エピック一覧のコンテキストを保ったまま、エピックの詳細をすばやく確認できます。また、詳細な編集や包括的な操作を行うために、より広い画面スペースが必要な場合は、全ページ表示で開くことも可能です。</p>
<p><a href="https://docs.gitlab.com/user/group/epics/manage_epics/#open-epics-in-a-drawer">ドキュメント</a><br>
<a href="https://gitlab.com/gitlab-org/gitlab/-/issues/536620">イシュー</a></p>
<p><img src="https://about.gitlab.com/images/18_2/drawer_toggle.png" alt="エピックページでエピックをドロワーまたは全ページで表示"></p>
<h3>GitLab Flavored Markdownにおける作業アイテム参照とエディターの改善</h3>
<blockquote>
<p>SaaS: Free、Premium、Ultimate<br>
Self-Managed: Free、Premium、Ultimate</p>
</blockquote>
<p>GitLab Flavored Markdownで、<code>[work_item:123]</code>という統一構文を使用して、イシュー、エピック、作業アイテムを参照できるようになりました。この新しい構文は、イシュー用の<code>#123</code>やエピック用の<code>&amp;123</code>といった既存の参照形式と併用でき、<code>[work_item:namespace/project/123]</code>のようなプロジェクト間参照にも対応しています。</p>
<p>また、プレーンテキストエディターには、Enterキーを押した際に<a href="https://docs.gitlab.com/user/profile/preferences/#maintain-cursor-indentation">カーソルのインデントを維持する設定</a>が新たに追加されました。これにより、ネストされたリストやコードブロックなどの構造化されたコンテンツをより書きやすくなります。</p>
<p><a href="https://docs.gitlab.com/user/markdown/#gitlab-specific-references">ドキュメント</a><br>
<a href="https://gitlab.com/groups/gitlab-org/-/epics/7654">エピック</a></p>
<h3>トリガージョブでダウンストリームパイプラインステータスをミラーリング</h3>
<blockquote>
<p>SaaS: Free、Premium、Ultimate<br>
Self-Managed: Free、Premium、Ultimate</p>
</blockquote>
<p>これまで、<code>strategy:depend</code>を使用したトリガージョブでは、手動ジョブ、ブロックされたパイプライン、実行中にステータスが変化する再試行パイプラインなど、複雑なパイプラインの状態に対応する際に制限がありました。そのため、実際には手動ジョブでブロックされているにもかかわらず、ダウンストリームパイプラインがアクティブに実行中であるかのように見えることがありました。</p>
<p>新しい<code>strategy:mirror</code>キーワードは、ダウンストリームパイプラインの正確なリアルタイムのステータスをミラーリングすることで、より詳細なステータスレポートを可能にします。ステータスには、<code>running</code>、<code>manual</code>、<code>blocked</code>、<code>canceled</code>などの途中経過のステータスも含まれます。この機能により、チームは既存のワークフローを中断することなく、ダウンストリームパイプラインの現在のステータスを完全に把握できるようになります。</p>
<p><a href="https://docs.gitlab.com/ci/yaml/#triggerstrategy">ドキュメント</a><br>
<a href="https://gitlab.com/gitlab-org/gitlab/-/issues/431882">イシュー</a></p>
<h3>時間ベースのワンタイムパスワードMFAのDAST対応</h3>
<blockquote>
<p>SaaS: Ultimate<br>
Self-Managed: Ultimate</p>
</blockquote>
<p>動的解析において時間ベースのワンタイムパスワード（TOTP）による多要素認証（MFA）がサポートされるようになりました。</p>
<p>TOTP MFAが有効になっているプロジェクトでDASTスキャンを実行し、包括的なセキュリティテストを確実に行うことができます。この機能強化により、MFAが展開されている本番環境を再現した設定でアプリケーションをテストできるため、より正確なスキャン結果が得られます。</p>
<p><a href="https://docs.gitlab.com/user/application_security/dast/browser/configuration/authentication/">ドキュメント</a><br>
<a href="https://gitlab.com/groups/gitlab-org/-/epics/13633">エピック</a></p>
<h3>DASTログイン成功確認のサポート強化</h3>
<blockquote>
<p>SaaS: Ultimate<br>
Self-Managed: Ultimate</p>
</blockquote>
<p>これまで、<code>DAST_AUTH_SUCCESS_IF_AT_URL</code>変数を使用して認証の成功を確認するには、URLの完全一致が必要でした。この方法は、ランディングページが静的なアプリケーションには有効でしたが、ログイン後のURLにログインごとの動的要素が含まれるアプリケーションでは困難でした。</p>
<p>今回の改善により、<code>DAST_AUTH_SUCCESS_IF_AT_URL</code>変数でワイルドカードパターンを使用し、動的なURLパターンにも一致させることが可能になりました。この機能強化で柔軟性が向上されたことで、セッションごとにURLが変化する場合でも、認証の成功を確認できるようになりました。</p>
<p><a href="https://docs.gitlab.com/user/application_security/dast/browser/configuration/variables/#authentication">ドキュメント</a><br>
<a href="https://gitlab.com/gitlab-org/gitlab/-/issues/435942">イシュー</a></p>
<h3>依存関係パスの表示</h3>
<blockquote>
<p>SaaS: Ultimate<br>
Self-Managed: Ultimate</p>
</blockquote>
<p>これまでは、ある依存関係が直接的な依存関係なのか、それとも依存関係の子孫を通じてインポートされた間接的な依存関係なのかを判別するのが困難でした。</p>
<p>新たに追加された依存関係パス機能を使用することで、ライブラリが直接的にインポートされているのか、あるいは間接的にインポートされているのかを判別できるようになりました。依存関係パスは、プロジェクトおよびグループの依存関係リストと脆弱性詳細で確認できます。この機能により、ライブラリがどのようにインポートされているかに応じて、最も効率的な修正のパスをデベロッパーが判断できるようになります。</p>
<p><a href="https://docs.gitlab.com/user/application_security/dependency_list/#dependency-paths">ドキュメント</a><br>
<a href="https://gitlab.com/groups/gitlab-org/-/epics/16815">エピック</a></p>
<p><a href="https://gitlab.com/groups/gitlab-org/-/epics/16815"></a></p>
<p><img src="https://about.gitlab.com/images/18_2/dependency_paths.png" alt="依存関係パスの表示"></p>
<h3>セキュリティインベントリによるアセットの包括的な可視化（ベータ版）</h3>
<blockquote>
<p>SaaS: Ultimate<br>
Self-Managed: Ultimate</p>
</blockquote>
<p>AppSecチームには、組織内のすべてのアセットに対するセキュリティ体制を包括的に可視化することが求められています。これまでのGitLabのセキュリティワークフローは、主にプロジェクトレベルでのスキャナー設定や脆弱性に焦点を当てていたため、カバレッジのギャップを把握したり、リスクに基づいて効率的に優先順位を付けたりするのが困難でした。</p>
<p>セキュリティインベントリは、GitLabインスタンス全体におけるセキュリティ対策状況を一元的に表示し、AppSecチームが以下を実現できるようにします。</p>
<ul>
<li>プロジェクトやグループ間のセキュリティカバレッジを完全に可視化する</li>
<li>セキュリティスキャンが十分に実行されていない、または設定にギャップがあるアセットを特定する</li>
<li>セキュリティ対策の重点をどこに置くのかについて、情報に基づいたリスクベースの意思決定を行う</li>
<li>セキュリティ対策状況の改善を継続的に追跡する</li>
</ul>
<p>この機能を使用することで、個別プロジェクトのセキュリティと組織全体のセキュリティ戦略とのギャップを埋め、効果的なセキュリティプログラム管理に必要なアセットインベントリの基盤を構築できます。</p>
<p><a href="https://docs.gitlab.com/user/application_security/security_inventory/">ドキュメント</a>
<a href="https://gitlab.com/groups/gitlab-org/-/epics/16484">エピック</a>\</p>
<h3>脆弱性GraphQL APIで追加情報を取得可能に</h3>
<blockquote>
<p>SaaS: Ultimate<br>
Self-Managed: Ultimate</p>
</blockquote>
<p>GraphQL APIを使用して、脆弱性が導入されたパイプラインと最後に検出されたパイプラインを特定できるようになりました。脆弱性GraphQL APIに以下のフィールドが追加されました。</p>
<ul>
<li><code>initialDetectedPipeline</code>：脆弱性が導入された際の追加のコミット情報（例：作成者のユーザー名）を取得するために使用</li>
<li><code>latestDetectedPipeline</code>：脆弱性が削除された際の追加のコミット情報（例：コミットSHA）を取得するために使用</li>
</ul>
<p><a href="https://docs.gitlab.com/api/graphql/reference/#vulnerability">ドキュメント</a><br>
<a href="https://gitlab.com/gitlab-org/gitlab/-/issues/468913">イシュー</a></p>
<h3>認証情報インベントリにサービスアカウントトークンを追加</h3>
<blockquote>
<p>SaaS: Ultimate<br>
Self-Managed: Ultimate</p>
</blockquote>
<p>GitLabの認証情報インベントリでサービスアカウントトークンがサポートされるようになりました。これにより、ソフトウェアサプライチェーン全体で使用されているさまざまな認証方式を、より明確に把握・管理できるようになります。認証情報インベントリは、組織全体で使用されている認証情報の全体像を提供します。</p>
<p><a href="https://docs.gitlab.com/administration/credentials_inventory/">ドキュメント</a><br>
<a href="https://gitlab.com/gitlab-org/gitlab/-/issues/421954">イシュー</a></p>
<h3>GitLab Duo Self-HostedでMistral Smallが利用可能に</h3>
<p>Self-Managed: Premium、Ultimate、Duo Enterprise</p>
<p><a href="https://docs.gitlab.com/administration/gitlab_duo_self_hosted/supported_models_and_hardware_requirements/#supported-models">GitLab Duo Self-Hosted</a>でMistral Smallを使用できるようになりました。このモデルはGitLab Self-Managedインスタンスで利用可能であり、GitLab Duo Self-HostedのGitLab Duo Chatおよびコード提案機能に完全対応する初のオープンソースモデルです。</p>
<p><a href="https://docs.gitlab.com/administration/gitlab_duo_self_hosted/supported_models_and_hardware_requirements/#supported-models/">ドキュメント</a><br>
<a href="https://gitlab.com/groups/gitlab-org/-/epics/18202">エピック</a></p>
<h2>バグ修正、パフォーマンスの改善、UIの改善</h2>
<p>GitLabでは、ユーザーに可能な限り最高の環境をお届けできるよう尽力しています。リリースのたびに、バグを修正し、パフォーマンスを改善し、UIを向上させるためにたゆまぬ努力を続けています。GitLabは、100万人を超えるGitLab.comユーザーをはじめ、GitLabのプラットフォームを利用するすべての人にスムーズでシームレスな体験をお届けすることを約束します。</p>
<p>18.2で提供されたすべてのバグ修正、パフォーマンスの強化、UI改善を確認するには、以下のリンクをクリックしてください。</p>
<ul>
<li><a href="https://gitlab.com/groups/gitlab-org/-/issues/?sort=updated_desc&amp;state=closed&amp;label_name%5B%5D=type%3A%3Abug&amp;or%5Blabel_name%5D%5B%5D=workflow%3A%3Acomplete&amp;or%5Blabel_name%5D%5B%5D=workflow%3A%3Averification&amp;or%5Blabel_name%5D%5B%5D=workflow%3A%3Aproduction&amp;milestone_title=18.2&amp;first_page_size=100">バグ修正</a></li>
<li><a href="https://gitlab.com/groups/gitlab-org/-/issues/?sort=updated_desc&amp;state=closed&amp;label_name%5B%5D=bug%3A%3Aperformance&amp;or%5Blabel_name%5D%5B%5D=workflow%3A%3Acomplete&amp;or%5Blabel_name%5D%5B%5D=workflow%3A%3Averification&amp;or%5Blabel_name%5D%5B%5D=workflow%3A%3Aproduction&amp;milestone_title=18.2">パフォーマンスの改善</a></li>
<li><a href="https://papercuts.gitlab.com/?milestone=18.2">UIの改善</a></li>
</ul>
<h2>非推奨事項</h2>
<p>新たに非推奨になった機能、および現在非推奨になっているすべての機能の一覧は、<a href="https://docs.gitlab.com/ee/update/deprecations.html">GitLabドキュメント</a>で確認できます。今後の破壊的な変更について通知を受け取るには、<a href="https://about.gitlab.com/breaking-changes.xml">破壊的な変更のRSSフィードにサブスクライブ</a>してください。<a href="https://docs.gitlab.com/ee/update/deprecations.html#resource-owner-password-credentials-grant-is-deprecated"></a><a href="https://docs.gitlab.com/ee/update/deprecations.html#coverage-guided-fuzz-testing-is-deprecated"></a></p>
<h2>削除された機能と破壊的な変更</h2>
<p>削除されたすべての機能の一覧は、<a href="https://docs.gitlab.com/ee/update/deprecations.html">GitLabドキュメント</a>で確認できます。今後の破壊的な変更について通知を受け取るには、<a href="https://about.gitlab.com/breaking-changes.xml">破壊的な変更のRSSフィードにサブスクライブ</a>してください。</p>
<p><a href="https://docs.gitlab.com/ee/update/deprecations.html#api-discovery-will-use-branch-pipelines-by-default"></a><a href="https://docs.gitlab.com/ee/update/deprecations.html#toggle-notes-confidentiality-on-apis"></a></p>
<h3>変更履歴</h3>
<p>変更内容をすべて表示するには、次のページから変更履歴を確認してください。</p>
<ul>
<li><a href="https://gitlab.com/gitlab-org/gitlab-foss/blob/master/CHANGELOG.md">GitLab</a></li>
<li><a href="https://gitlab.com/gitlab-org/gitlab-runner/blob/main/CHANGELOG.md">GitLab Runner</a></li>
<li><a href="https://gitlab.com/gitlab-org/gitlab-vscode-extension/-/blob/main/CHANGELOG.md">VS CodeのGitLab Workflow</a></li>
<li><a href="https://gitlab.com/gitlab-org/cli/-/releases">GitLab CLI</a></li>
</ul>
<h3>インストール</h3>
<p>GitLabを新規にインストールする場合は、<a href="https://about.gitlab.com/ja-jp/install/">GitLabのダウンロードページ</a>をご覧ください。</p>
<h3>更新事項</h3>
<p><a href="https://about.gitlab.com/ja-jp/update/">更新ページ</a>をご覧ください。</p>
<h3>ご不明な点がある場合</h3>
<p>ご質問やご意見をお聞かせください。本リリースについてご不明な点がある場合は、<a href="https://forum.gitlab.com/">GitLabフォーラム</a>にアクセスして質問を投稿してください。</p>
<h3>GitLabサブスクリプションプラン</h3>
<ul>
<li><a href="https://about.gitlab.com/pricing/">Free</a><br>
ユーザー向けの永久無料機能を提供</li>
<li><a href="https://about.gitlab.com/pricing/premium/">Premium</a><br>
チームの生産性と調整を強化</li>
<li><a href="https://about.gitlab.com/pricing/ultimate/">Ultimate</a><br>
組織全体のセキュリティ、コンプライアンス、プランニングに対応</li>
</ul>
<p>GitLabのすべての機能を<a href="https://about.gitlab.com/free-trial/?hosted=saas">無料</a>でお試しいただけます。</p>
<p><em>監修：ソリス ジェレズ / Jerez Solis <a href="https://gitlab.com/jerezs">@jerezs</a>
（GitLab合同会社 ソリューションアーキテクト本部 ソリューションアーキテクト）</em></p>
<h3>過去の日本語リリース情報</h3>
<ul>
<li><a href="https://about.gitlab.com/ja-jp/blog/gitlab-18-02-release">GitLab 18.2</a></li>
<li><a href="https://about.gitlab.com/ja-jp/blog/gitlab-18-01-release">GitLab 18.1</a></li>
<li><a href="https://about.gitlab.com/ja-jp/blog/gitlab-18-0-release/">GitLab 18.0</a></li>
<li><a href="https://about.gitlab.com/ja-jp/blog/gitlab-17-11-release/">GitLab 17.11</a></li>
<li><a href="https://about.gitlab.com/ja-jp/blog/gitlab-17-10-release/">GitLab 17.10</a></li>
<li><a href="https://about.gitlab.com/ja-jp/blog/gitlab-17-9-release/">GitLab 17.9</a></li>
<li><a href="https://about.gitlab.com/ja-jp/blog/gitlab-17-8-release/">GitLab 17.8</a></li>
<li><a href="https://about.gitlab.com/ja-jp/blog/gitlab-17-7-release/">GitLab 17.7</a></li>
<li><a href="https://about.gitlab.com/ja-jp/blog/gitlab-17-6-release/">GitLab 17.6</a></li>
<li><a href="https://about.gitlab.com/ja-jp/blog/gitlab-17-5-released/">GitLab 17.5</a></li>
<li><a href="https://about.gitlab.com/ja-jp/blog/gitlab-17-4-released/">GitLab 17.4</a></li>
<li><a href="https://about.gitlab.com/ja-jp/blog/gitlab-17-3-released/">GitLab 17.3</a></li>
<li><a href="https://about.gitlab.com/ja-jp/blog/gitlab-17-2-released/">GitLab 17.2</a></li>
<li><a href="https://about.gitlab.com/ja-jp/blog/gitlab-17-1-released/">GitLab 17.1</a></li>
<li><a href="https://about.gitlab.com/ja-jp/blog/gitlab-16-11-released/">GitLab 16.11</a></li>
</ul>
]]></content>
        <author>
            <name>GitLab Japan Team</name>
            <uri>https://about.gitlab.com/blog/authors/gitlab-japan team</uri>
        </author>
        <published>2025-07-18T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[GitLab Duo Agent Platform ベータ版：次世代AIオーケストレーション]]></title>
        <id>https://about.gitlab.com/ja-jp/blog/gitlab-duo-agent-platform-public-beta/</id>
        <link href="https://about.gitlab.com/ja-jp/blog/gitlab-duo-agent-platform-public-beta/"/>
        <updated>2025-07-17T00:00:00.000Z</updated>
        <content type="html"><![CDATA[<p><strong>私たちはソフトウェア開発の未来を構築しています。</strong></p>
<p>GitLabでは、<a href="https://about.gitlab.com/ja-jp/blog/gitlab-duo-agent-platform-what-is-next-for-intelligent-devsecops/">ソフトウェアエンジニアリングの未来を人間とAIのコラボレーション</a>として再構想しています。開発者が技術的で複雑な問題の解決とイノベーションの推進に集中する一方で、AIエージェントが進捗を遅らせる日常的で反復的なタスクを処理します。開発者がはるかに低いコストで新しいアイデアをコードで自由に探求でき、バグのバックログが過去のものとなり、構築するソフトウェアのユーザーがより使いやすく、信頼性が高く、安全な体験を楽しめる世界です。これは遠い夢ではありません。私たちは現在この現実を構築しており、それがGitLab Duo Agent Platformです。</p>
<h2>GitLab Duo Agent Platformとは？</h2>
<p>GitLab Duo Agent Platformは、開発者とAIエージェント間の非同期コラボレーションを実現するように設計された次世代DevSecOpsオーケストレーションプラットフォームです。これにより、ソフトウェア開発ワークフローを、従来の1人ずつ順番に開発を進めるプロセスから、複数の人やAIエージェントが同時に協力しあえる開発スタイルへ変革できます。まるで無限のチームメンバーを自由に使えるようなものです。</p>
<p>複雑なリファクタリングタスクをSoftware Developer Agentに委任しながら、同時にSecurity Analyst Agentに脆弱性をスキャンさせ、Deep Research Agentにリポジトリ履歴全体の進捗を分析させることを想像してください。これらはすべて並行して行われ、GitLab内でシームレスにオーケストレーションされます。</p>
<p>本日、GitLab.comおよびSelf-ManagedのGitLab PremiumとUltimateのお客様向けに、<a href="https://about.gitlab.com/ja-jp/gitlab-duo/agent-platform/">GitLab Duo Agent Platformの最初のパブリックベータ版</a>のローンチを発表します。これは、インテリジェントな自動化を通じて人間の創意工夫を増幅させながら、ソフトウェアの計画、構築、検証、デプロイの方法を改善する一連のアップデートの最初のものです。</p>
<p>この最初のベータ版は、GitLab VS Code拡張機能とJetBrains IDEプラグインを通じてIDE体験を解放することに焦点を当てています。来月には、Duo Agent Platform体験をGitLabアプリケーションに導入し、IDEサポートを拡張する予定です。現在から今年後半に予定されている一般提供までのロードマップに関する私たちのビジョンについて、もう少し詳しくお話しさせていただきます。最初のベータ版の詳細は以下をご覧ください。</p>
<p>現在利用可能な機能と今後の予定については、このビデオをご覧いただくか、続きをお読みください。その後、Duo Agent Platformを開始する準備ができたら、<a href="#get%E4%BB%8A%E3%81%99%E3%81%90%E5%A7%8B%E3%82%81%E3%82%8B">パブリックベータ版での開始方法をご覧ください</a>。</p>
<p>&lt;div style=&quot;padding:56.25% 0 0 0;position:relative;&quot;&gt;&lt;iframe src=&quot;https://player.vimeo.com/video/1101993507?title=0&amp;byline=0&amp;portrait=0&amp;badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479&quot; frameborder=&quot;0&quot; allow=&quot;autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media; web-share&quot; referrerpolicy=&quot;strict-origin-when-cross-origin&quot; style=&quot;position:absolute;top:0;left:0;width:100%;height:100%;&quot; title=&quot;GitLab Agent Platform Beta Launch_071625_MP_v2&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;script src=&quot;https://player.vimeo.com/api/player.js&quot;&gt;&lt;/script&gt;</p>
<h2>オーケストレーションプラットフォームとしてのGitLabのユニークなポジション</h2>
<p>GitLabは、エンジニアリングチームの記録システムとして開発ライフサイクルの中心に位置し、5,000万人以上の登録ユーザー（Fortune 500の半数を含む）のコンセプトから本番環境までの全行程をオーケストレーションしています。これには、公共機関を含むすべてのセグメントと業界にわたる10,000以上の有料顧客が含まれます。</p>
<p>これにより、GitLabは競合他社が持ち得ないものを手に入れています：ソフトウェアを提供するために必要なすべてに関する包括的な理解です。私たちは、プロジェクト計画、コード、テスト実行、セキュリティスキャン、コンプライアンスチェック、CI/CD設定を統合し、チームに力を与えるだけでなく、あなたがコントロールするAIエージェントとのコラボレーションをオーケストレーションします。</p>
<p>インテリジェントで統一されたDevSecOpsプラットフォームとして、GitLabはソフトウェアエンジニアリング実践に関するすべてのコンテキストを1か所に保存します。私たちは、この統一されたデータをナレッジグラフを介してAIエージェントに公開します。構築されるすべてのエージェントは、このSDLC接続されたデータセットに自動的にアクセスでき、豊富なコンテキストを提供するため、エージェントは情報に基づいた推奨を行い、組織の標準に準拠したアクションを実行できます。</p>
<p><strong>このアドバンテージの実例をご紹介します。</strong> 数十、場合によっては数百のストーリーやイシューにわたって、関係するすべての開発者を含めてプロジェクトがどのように進行しているかを正確に把握しようとしたことはありますか？Deep Research AgentはGitLab Knowledge Graphとセマンティック検索機能を活用して、エピックとすべての関連イシューを横断し、関連するコードベースと周囲のコンテキストを探索します。リポジトリ、マージリクエスト、デプロイメント履歴全体の情報を迅速に相関させます。これにより、スタンドアロンツールでは実現できず、人間の開発者が発見するのに何時間もかかる重要な洞察が得られます。</p>
<p>&lt;div style=&quot;padding:56.25% 0 0 0;position:relative;&quot;&gt;&lt;iframe src=&quot;https://player.vimeo.com/video/1101998114?title=0&amp;byline=0&amp;portrait=0&amp;badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479&quot; frameborder=&quot;0&quot; allow=&quot;autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media; web-share&quot; referrerpolicy=&quot;strict-origin-when-cross-origin&quot; style=&quot;position:absolute;top:0;left:0;width:100%;height:100%;&quot; title=&quot;Deep Research Demo_071625_MP_v1&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;script src=&quot;https://player.vimeo.com/api/player.js&quot;&gt;&lt;/script&gt;</p>
<h2>AI機能からエージェントオーケストレーションへの戦略的進化</h2>
<p>GitLab Duoは、Duo ProとEnterpriseを通じて開発者に生成AIをもたらすアドオンとして始まりました。GitLab 18.0では、プラットフォームに組み込まれています。すべてのPremiumおよびUltimateユーザー向けに<a href="https://about.gitlab.com/ja-jp/blog/gitlab-duo-chat-gets-agentic-ai-makeover/">Duo Agentic Chat</a>とCode Suggestionsを解放し、現在Duo Agent Platformへの即座のアクセスを提供しています。</p>
<p>エンジニアリング投資を強化し、デリバリーを加速させており、毎月強力な新しいAI機能が登場しています。しかし、私たちは単なる別のコーディングアシスタントを構築しているわけではありません。GitLab Duoは、AIエージェントを作成、カスタマイズ、デプロイでき、他のシステムと簡単に相互運用できるエージェントオーケストレーションプラットフォームになりつつあり、生産性を劇的に向上させます。</p>
<blockquote>
<p><strong>「GitLab Duo Agent Platformは、私たちのコードベースと組織を真に理解するAIで開発ワークフローを強化します。コード、テスト、CI/CD、およびソフトウェア開発ライフサイクル全体の記録システムにGitLab Duo AIエージェントが組み込まれることで、生産性、開発速度、効率性が向上します。エージェントは私たちのチームの真のコラボレーターとなり、意図を理解し、問題を分解し、アクションを実行する能力により、開発者は情熱を持つエキサイティングで革新的な作業に取り組むことができます。」</strong> - Bal Kang氏、NatWest エンジニアリングプラットフォームリード</p>
</blockquote>
<h3>すぐに使えるエージェント</h3>
<p>私たちは、おなじみのチームの役割を反映したエージェントを導入しています。これらのエージェントは、GitLab全体で既存のアーティファクトを検索、読み取り、作成、変更できます。これらは個別に対話できるエージェントであり、独自のエージェントを作成するためにカスタマイズできるビルディングブロックとしても機能します。チームメンバーと同様に、エージェントにはソフトウェア開発、テスト、技術文書作成などの定義された専門分野があります。スペシャリストとして、適切なコンテキストとツールを活用して、デプロイされる場所に関係なく、同じタイプのタスクを一貫して達成します。</p>
<p>現在構築中のエージェントの例をいくつか紹介します：</p>
<ul>
<li><strong>Chat Agent（現在ベータ版）：</strong> 自然言語のリクエストを受け取り、ユーザーに情報とコンテキストを提供します。イシューの読み取りやコードの差分の読み取りなど、一般的な開発タスクを実行できます。例として、ジョブのURLを提供することで、失敗したジョブのデバッグをChatに依頼できます。</li>
</ul>
<p>&lt;div style=&quot;padding:56.25% 0 0 0;position:relative;&quot;&gt;&lt;iframe src=&quot;https://player.vimeo.com/video/1102616311?badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479&quot; frameborder=&quot;0&quot; allow=&quot;autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media; web-share&quot; referrerpolicy=&quot;strict-origin-when-cross-origin&quot; style=&quot;position:absolute;top:0;left:0;width:100%;height:100%;&quot; title=&quot;agentic-chat-in-web-ui-demo_Update V2&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;script src=&quot;https://player.vimeo.com/api/player.js&quot;&gt;&lt;/script&gt;&lt;p&gt;&lt;/p&gt;</p>
<ul>
<li><strong>Software Developer Agent（現在ベータ版）：</strong> 割り当てられたアイテムに取り組み、仮想開発環境でコード変更を作成し、レビュー用のマージリクエストを開きます。</li>
<li><strong>Product Planning Agent：</strong> 製品バックログの優先順位付け、人間およびエージェントのチームメンバーへの作業アイテムの割り当て、指定されたタイムライン上でのプロジェクト更新の提供を行います。</li>
<li><strong>Software Test Engineer Agent：</strong> バグの新しいコード貢献をテストし、報告された問題が解決されたかどうかを検証します。</li>
<li><strong>Code Reviewer Agent：</strong> チーム標準に従ってコードレビューを実行し、品質とセキュリティの問題を特定し、準備ができたらコードをマージできます。</li>
<li><strong>Platform Engineer Agent：</strong> GitLab Runnersを含むGitLabデプロイメントを監視し、CI/CDパイプラインの健全性を追跡し、人間のプラットフォームエンジニアリングチームにパフォーマンスの問題を報告します。</li>
<li><strong>Security Analyst Agent：</strong> コードベースとデプロイされたアプリケーション内の脆弱性を発見し、セキュリティの弱点の解決に役立つコードと設定の変更を実装します。</li>
<li><strong>Deployment Engineer Agent：</strong> 本番環境に更新をデプロイし、異常な動作を監視し、アプリケーションのパフォーマンスやセキュリティに影響を与える変更をロールバックします。</li>
<li><strong>Deep Research Agent：</strong> 開発エコシステム全体にわたって包括的なマルチソース分析を実施します。</li>
</ul>
<p>これらのエージェントを強力にするのは、GitLabの包括的なツールキットへのネイティブアクセスです。現在、イシューやエピックからマージリクエストやドキュメントまで、25以上のツールがあり、さらに増える予定です。限られたコンテキストで動作する外部AIツールとは異なり、エージェントは組織の監督の下で完全なプラットフォーム権限を持つ真のチームメンバーとして機能します。</p>
<p>今後数か月で、これらのエージェントを組織のニーズに合わせて変更することもできるようになります。例えば、Software Test Engineer Agentが特定のフレームワークや方法論のベストプラクティスに従うように指定でき、その専門性を深め、さらに価値のあるチームメンバーに変えることができます。</p>
<h2>Flowsが複雑なエージェントタスクをオーケストレーション</h2>
<p>個々のエージェントに加えて、エージェントFlowsを導入しています。これらは、自律的に実行できる特定のタスクに対して、事前に構築された指示、ステップ、アクションを含む複数のエージェントを含むことができる、より複雑なワークフローと考えてください。</p>
<p>個人に共通する基本的なタスクのFlowsを作成できますが、通常は調整と労力に何時間もかかる複雑で専門的なタスクに適用すると真に優れています。Flowsは複雑なタスクをより速く完了する支援をし、多くの場合、人間の介入なしに非同期で実行できます。</p>
<p>Flowsには実行のための特定のトリガーがあります。各Flowには一連のステップが含まれ、各ステップには専門のエージェントに何をすべきかを伝える詳細な指示があります。この詳細なアプローチにより、Flow内のエージェントに正確な指示を与えることができます。より詳細に指示を定義し、構造化された決定ポイントを確立することで、FlowsはAI応答の固有の変動性を解決しながら、同じ要件を繰り返し指定する必要をなくし、ユーザー設定なしでより一貫性があり予測可能な結果を解放できます。</p>
<p>私たちが構築している、すぐに使えるFlowsの例をいくつか紹介します：</p>
<p><strong>Software Development Flow（現在ベータ版）：</strong> 複数のエージェントをオーケストレーションして、コード変更をエンドツーエンドで計画、実装、テストし、チームがコンセプトから本番環境まで機能を提供する方法を変革する支援をします。</p>
<p><strong>Issue-to-MR Flow：</strong> エージェントを調整して要件を分析し、包括的な実装計画を準備し、コードを生成することで、イシューを実行可能なマージリクエストに自動的に変換します。</p>
<p><strong>Convert CI File Flow：</strong> 既存のCI/CD設定を分析し、完全なパイプライン互換性を持つGitLab CI形式にインテリジェントに変換するエージェントを使用して、移行ワークフローを合理化します。</p>
<p>&lt;div style=&quot;padding:56.25% 0 0 0;position:relative;&quot;&gt;&lt;iframe src=&quot;https://player.vimeo.com/video/1101941425?title=0&amp;byline=0&amp;portrait=0&amp;badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479&quot; frameborder=&quot;0&quot; allow=&quot;autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media; web-share&quot; referrerpolicy=&quot;strict-origin-when-cross-origin&quot; style=&quot;position:absolute;top:0;left:0;width:100%;height:100%;&quot; title=&quot;jenkins-to-gitlab-cicd-for-blog&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;script src=&quot;https://player.vimeo.com/api/player.js&quot;&gt;&lt;/script&gt;
&lt;p&gt;&lt;/p&gt;</p>
<p><strong>Search and Replace Flow：</strong> プロジェクト構造を体系的に分析し、最適化の機会を特定し、正確な置換を実行することで、コードベース全体でコードパターンを発見して変換します。</p>
<p><strong>Incident Response &amp; Root Cause Analysis Flow：</strong> システムデータを相関させ、根本原因分析のための専門エージェントを調整し、解決プロセス全体を通じて関係者に情報を提供しながら、承認された修復手順を実行することで、インシデント対応をオーケストレーションします。</p>
<p>これは、GitLab Duo Agent Platformが他のAIソリューションと比較して真にユニークなアプローチを取っている点になります。事前に構築されたエージェントを提供するだけではありません。個人および組織の独自のニーズに完全に一致するエージェントFlowsを作成、カスタマイズ、共有する力も提供します。そして、Flowsを使用すると、一般的で複雑なタスクに対してエージェントに特定の実行計画を与えることができます。</p>
<p>このアプローチは、競合他社が行うような目的別のエージェントを構築するよりも強力であると考えています。なぜなら、すべての組織には異なるワークフロー、コーディング標準、セキュリティ要件、ビジネスロジックがあるからです。汎用AIツールは特定のコンテキストを理解できませんが、GitLab Duo Agent Platformはチームの作業方法に正確に合わせて調整できるようになります。</p>
<h2>なぜGitLab Duo Agent PlatformでエージェントとエージェントFlowsを構築するのか？</h2>
<p>**高速構築：**高速で宣言的な拡張性モデルとUIアシスタンスを使用して、Duo Agent Platformでエージェントと複雑なエージェントFlowsを迅速かつ簡単に構築できます。</p>
<p>**組み込みコンピュート：**Duo Agent Platformを使用すると、エージェント用の独自のインフラストラクチャを立ち上げる手間をかける必要がなくなります：コンピュート、ネットワーク、ストレージはすべて組み込まれています。</p>
<p>**SDLCイベント：**エージェントは、パイプラインのエラー、デプロイメントの失敗、イシューの作成など、一般的なイベントで自動的に呼び出すことができます。</p>
<p>**即座のアクセス：**GitLabまたはIDEプラグインのどこからでもエージェントと対話できます：イシューを割り当て、コメントで@メンションし、Duo Chatが利用可能なあらゆる場所でチャットできます。</p>
<p>&lt;div style=&quot;padding:56.25% 0 0 0;position:relative;&quot;&gt;&lt;iframe src=&quot;https://player.vimeo.com/video/1102029239?badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479&quot; frameborder=&quot;0&quot; allow=&quot;autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media; web-share&quot; referrerpolicy=&quot;strict-origin-when-cross-origin&quot; style=&quot;position:absolute;top:0;left:0;width:100%;height:100%;&quot; title=&quot;assigning an agent an issue&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;script src=&quot;https://player.vimeo.com/api/player.js&quot;&gt;&lt;/script&gt; &lt;p&gt;&lt;/p&gt;</p>
<p><strong>組み込みモデルとカスタムモデルをサポート：</strong> エージェントは、サポートするすべてのモデルに自動的にアクセスでき、ユーザーは特定のタスクに特定のモデルを選択できます。Duo Agent Platformを独自のセルフホストモデルに接続したい場合は、それも可能になります！</p>
<p>**Model Context Protocol（MCP）エンドポイント：**すべてのエージェントとFlowはネイティブMCPエンドポイントを介してアクセスまたはトリガーでき、Claude Code、Cursor、Copilot、Windsurfなどの人気のあるツールを含む、どこからでもエージェントとFlowsに接続してコラボレーションできます。</p>
<p>**可観測性とセキュリティ：**組み込みの可観測性と使用状況ダッシュボードを提供し、エージェントが誰が、どこで、何を、いつあなたに代わってアクションを実行したかを正確に確認できます。</p>
<h2>コミュニティ主導の未来</h2>
<p>コミュニティの貢献は長い間GitLabのイノベーションとソフトウェア開発を促進してきました。AI Catalogの導入により、コミュニティとパートナーシップを組むことに興奮しています。AI Catalogにより、組織内およびGitLabエコシステム全体でエージェントとFlowsを作成して共有できるようになります（今後のベータ版で）。</p>
<p>最も価値のあるAIアプリケーションは、GitLab Duo Agent Platformを毎日適用して多数の実世界のユースケースを解決することで、コミュニティの皆様から生まれる可能性が高いと考えています。エージェントとFlowsのシームレスな共有を可能にすることで、各コントリビュートがプラットフォームの集合的なインテリジェンスと価値を高めるネットワーク効果を生み出しています。時間の経過とともに、Agent Platformからの最も価値のあるユースケースは、繁栄するGitLabコミュニティから生まれると信じています。</p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1752685501/awdwx08udwrxgvcpmssb.png" alt="AI Catalog" title="AI Catalog"></p>
<h2>現在GitLab Duo Agent Platformパブリックベータ版で利用可能</h2>
<p>GitLab Duo Agent Platformパブリックベータ版は、PremiumおよびUltimateのお客様に以下の機能を提供して現在利用可能です：</p>
<p><strong>Software Development Flow：</strong> 最初のFlowは、包括的なコンテキストの収集、人間の開発者との曖昧さの明確化、コードベースとリポジトリに正確な変更を加えるための戦略的計画の実行においてエージェントをオーケストレーションします。プロジェクト全体（構造、コードベース、履歴を含む）と、GitLabのイシューやマージリクエストなどの追加コンテキストを活用して、開発者の生産性を増幅します。</p>
<p><strong>新しいエージェントツールが利用可能：</strong> エージェントは作業を行うために複数のツールにアクセスできるようになりました：</p>
<ul>
<li>ファイルシステム（読み取り、作成、編集、ファイル検索、リスト、Grep）</li>
<li>コマンドライン実行*</li>
<li>イシュー（リスト、取得、コメント取得、編集*、作成*、コメント追加/更新*）</li>
<li>エピック（取得、コメント取得）</li>
<li>MR（取得、コメント取得、差分取得、作成、更新）</li>
<li>パイプライン（ジョブログ、パイプラインエラー）</li>
<li>プロジェクト（取得、ファイル取得）</li>
<li>コミット（取得、リスト、コメント取得、差分取得）</li>
<li>検索（イシュー検索）</li>
<li>セキュア（脆弱性リスト）</li>
<li>ドキュメント検索
*=ユーザー承認が必要</li>
</ul>
<p><strong>IDEでのGitLab Duo Agentic Chat：</strong> Duo Agentic Chatは、チャット体験を受動的なQ&amp;Aツールから、IDE内で直接アクティブな開発パートナーに変換します。</p>
<p>&lt;div style=&quot;padding:56.25% 0 0 0;position:relative;&quot;&gt;&lt;iframe src=&quot;https://player.vimeo.com/video/1103237126?badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479&quot; frameborder=&quot;0&quot; allow=&quot;autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media; web-share&quot; referrerpolicy=&quot;strict-origin-when-cross-origin&quot; style=&quot;position:absolute;top:0;left:0;width:100%;height:100%;&quot; title=&quot;agentic-ai-launch-video_NEW&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;script src=&quot;https://player.vimeo.com/api/player.js&quot;&gt;&lt;/script&gt;&lt;p&gt;&lt;/p&gt;</p>
<ul>
<li><strong>反復的なフィードバックとチャット履歴：</strong> Duo Agentic Chatは、チャット履歴と反復的なフィードバックをサポートするようになり、エージェントを状態を持つ会話型パートナーに変換します。これにより信頼が育まれ、開発者がより複雑なタスクを委任し、修正指導を提供できるようになります。</li>
</ul>
<p>&lt;div style=&quot;padding:56.25% 0 0 0;position:relative;&quot;&gt;&lt;iframe src=&quot;https://player.vimeo.com/video/1101743173?title=0&amp;byline=0&amp;portrait=0&amp;badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479&quot; frameborder=&quot;0&quot; allow=&quot;autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media; web-share&quot; referrerpolicy=&quot;strict-origin-when-cross-origin&quot; style=&quot;position:absolute;top:0;left:0;width:100%;height:100%;&quot; title=&quot;agentic-chat-history&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;script src=&quot;https://player.vimeo.com/api/player.js&quot;&gt;&lt;/script&gt;</p>
<ul>
<li><strong>スラッシュコマンドによる合理化された委任：</strong> /explain、/tests、/includeなどの拡張されたより強力なスラッシュコマンドは、迅速で正確な意図のための「委任言語」を作成します。/includeコマンドにより、特定のファイル、開いているイシュー、マージリクエスト、または依存関係からのコンテキストをエージェントの作業メモリに直接注入でき、エージェントをより強力にし、高品質な応答のための最適なコンテキストを提供する方法をユーザーに教えます。</li>
</ul>
<p>&lt;div style=&quot;padding:56.25% 0 0 0;position:relative;&quot;&gt;&lt;iframe src=&quot;https://player.vimeo.com/video/1101743187?title=0&amp;byline=0&amp;portrait=0&amp;badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479&quot; frameborder=&quot;0&quot; allow=&quot;autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media; web-share&quot; referrerpolicy=&quot;strict-origin-when-cross-origin&quot; style=&quot;position:absolute;top:0;left:0;width:100%;height:100%;&quot; title=&quot;include-agentic-chat-jc-voiceover&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;script src=&quot;https://player.vimeo.com/api/player.js&quot;&gt;&lt;/script&gt;</p>
<ul>
<li><strong>カスタムルールによるパーソナライゼーション：</strong> 新しいカスタムルールにより、開発者は自然言語（例：開発スタイルガイド）を使用して、エージェントの動作を個人およびチームの好みに合わせて調整できます。この基本的なメカニズムは、エージェントのペルソナをパーソナライズされたアシスタントに形成し、ユーザー定義の好みと組織ポリシーに基づいて専門的なエージェントへと進化します。</li>
</ul>
<p>&lt;div style=&quot;padding:56.25% 0 0 0;position:relative;&quot;&gt;&lt;iframe src=&quot;https://player.vimeo.com/video/1101743179?title=0&amp;byline=0&amp;portrait=0&amp;badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479&quot; frameborder=&quot;0&quot; allow=&quot;autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media; web-share&quot; referrerpolicy=&quot;strict-origin-when-cross-origin&quot; style=&quot;position:absolute;top:0;left:0;width:100%;height:100%;&quot; title=&quot;custom-rules-with-jc-voiceover&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;script src=&quot;https://player.vimeo.com/api/player.js&quot;&gt;&lt;/script&gt;</p>
<ul>
<li><strong>JetBrains IDEでのGitLab Duo Agentic Chatのサポート：</strong> 開発者が作業する場所で会うために、IntelliJ、PyCharm、GoLand、WebstormなどのJetBrainsファミリーのIDEにDuo Agentic Chatサポートを拡張しました。これは既存のVS Codeサポートに追加されます。既存のユーザーは自動的にエージェント機能を取得し、新しいユーザーはJetBrains Marketplaceからプラグインをインストールできます。</li>
</ul>
<p>&lt;div style=&quot;padding:56.25% 0 0 0;position:relative;&quot;&gt;&lt;iframe src=&quot;https://player.vimeo.com/video/1101743193?title=0&amp;byline=0&amp;portrait=0&amp;badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479&quot; frameborder=&quot;0&quot; allow=&quot;autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media; web-share&quot; referrerpolicy=&quot;strict-origin-when-cross-origin&quot; style=&quot;position:absolute;top:0;left:0;width:100%;height:100%;&quot; title=&quot;jetbrains-support-jc-voiceover&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;script src=&quot;https://player.vimeo.com/api/player.js&quot;&gt;&lt;/script&gt;</p>
<ul>
<li><strong>MCPクライアントサポート：</strong> Duo Agentic Chatは、MCPクライアントとして機能し、リモートおよびローカルで実行されているMCPサーバーに接続できるようになりました。</li>
</ul>
<p>この機能により、エージェントはGitLab以外のJira、ServiceNow、ZenDeskなどのシステムに接続してコンテキストを収集したり、アクションを実行したりできます。MCPを介して自身を公開するサービスは、エージェントのスキルセットの一部になることができます。公式のGitLab MCPサーバーは近日公開予定です！</p>
<p>&lt;div style=&quot;padding:56.25% 0 0 0;position:relative;&quot;&gt;&lt;iframe src=&quot;https://player.vimeo.com/video/1101743202?title=0&amp;byline=0&amp;portrait=0&amp;badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479&quot; frameborder=&quot;0&quot; allow=&quot;autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media; web-share&quot; referrerpolicy=&quot;strict-origin-when-cross-origin&quot; style=&quot;position:absolute;top:0;left:0;width:100%;height:100%;&quot; title=&quot;McpDemo&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;script src=&quot;https://player.vimeo.com/api/player.js&quot;&gt;&lt;/script&gt;</p>
<ul>
<li><strong>GitLab Web UIでのGitLab Duo Agentic Chat。</strong> Duo Agentic ChatはGitLab Web UI内でも直接利用できるようになりました。この重要なステップにより、エージェントはコーディングアシスタントから真のDevSecOpsエージェントへと進化します。イシューやマージリクエストのディスカッションなどの豊富な非コードコンテキストにアクセスできるようになり、作業の背後にある「なぜ」を理解できるようになります。コンテキストを理解するだけでなく、エージェントはイシューのステータスの自動更新やマージリクエストの説明の編集など、WebUIから直接変更を加えることができます。</li>
</ul>
<h2>GitLab Duo Agent Platformに近日登場</h2>
<p>今後数週間にわたって、Duo Agent Platformに新しい機能をリリースし、より多くのすぐに使えるエージェントとFlowsを含めます。これらは、現在愛用されているGitLab体験にプラットフォームをもたらし、さらに大きなカスタマイズと拡張性を可能にし、お客様の生産性を増幅します：</p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1752685275/hjbe9iiu2ydp9slibsc2.png" alt="GitLab Duo Agent Platform パブリックベータロードマップ" title="GitLab Duo Agent Platform パブリックベータロードマップ"></p>
<ul>
<li><strong>統合されたGitLab体験：</strong> 18.2で利用可能なIDE拡張機能を基に、GitLabプラットフォーム内でエージェントとFlowsを拡張しています。このより深い統合により、エージェントと同期的および非同期的にコラボレーションする方法が拡張されます。エージェントに直接イシューを割り当て、GitLab Duo Chat内で@メンションし、選択した開発ツールからのMCP接続を維持しながら、アプリケーションのどこからでもシームレスに呼び出すことができます。このネイティブ統合により、エージェントはGitLab全体でアクセス可能な真の開発チームメンバーに変わります。</li>
<li><strong>エージェントの可観測性：</strong> エージェントがより自律的になるにつれて、Flowsを進行する際のアクティビティに対する包括的な可視性を構築しており、意思決定プロセスを監視し、実行ステップを追跡し、開発の課題をどのように解釈して行動しているかを理解できるようにします。エージェントの動作に対するこの透明性は信頼と確信を構築し、ワークフローを最適化し、ボトルネックを特定し、エージェントが意図したとおりに正確に実行されていることを確認するのに役立ちます。</li>
<li><strong>AI Catalog：</strong> 素晴らしいソリューションはコミュニティのイノベーションから生まれることを認識し、まもなくAI Catalogのパブリックベータ版を導入します - GitLabから、そして時間の経過とともにより広いコミュニティから調達された専門的なエージェントとFlowsでDuo Agent Platformを拡張できるマーケットプレイスです。これらのソリューションをGitLabで迅速にデプロイし、プロジェクトとコードベース全体のコンテキストを活用できます。</li>
<li><strong>Knowledge Graph：</strong> ソースコードとその周囲のコンテキストの記録システムとしてのGitLabのユニークなアドバンテージを活用して、コードベース全体のファイルと依存関係をマッピングするだけでなく、そのマップをユーザーがナビゲート可能にし、AIクエリ時間を加速し、精度の向上に役立つ包括的なKnowledge Graphを構築しています。この基盤により、GitLab Duoエージェントは、コードの依存関係からデプロイメントパターンまで、開発環境全体の関係を迅速に理解でき、複雑な質問に対するより速く、より正確な応答を解放します。</li>
</ul>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1752685367/n0tvfgorchuhrronic3j.png" alt="GitLab Duo Agent Platform Knowledge Graph" title="GitLab Duo Agent Platform Knowledge Graph"></p>
<ul>
<li><strong>エージェントとFlowsの作成と編集：</strong> すべての組織には独自のワークフローと要件があることを理解し、AI Catalogが成熟するにつれて導入される強力なエージェントとFlow作成および編集機能を開発しています。組織の作業方法に正確に合わせてエージェントとFlowsを作成および変更でき、Duo Agent Platform全体で高品質な結果と生産性の向上を可能にする深いカスタマイズを提供します。</li>
</ul>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1752684938/fruwqcqvvrx8gmkz5u0v.png" alt="AI Catalog" title="AI Catalog"></p>
<ul>
<li><strong>公式GitLab MCPサーバー：</strong> 開発者が複数のツールと環境で作業することを認識し、MCPを介してすべてのエージェントとFlowsにアクセスできる公式GitLab MCPサーバーを構築しています。Claude Code、Cursor、Copilot、WindsurfなどのポピュラーなツールをMCPがサポートされている場所から、エージェントとFlowsに接続してコラボレーションでき、好みの開発環境に関係なくシームレスなAIコラボレーションを解放します。</li>
<li><strong>GitLab Duo Agent Platform CLI：</strong> 今後のCLIにより、コマンドラインでエージェントを呼び出し、Flowsをトリガーできるようになり、コードリポジトリとマージリクエストからCI/CDパイプラインとイシュー追跡まで、ソフトウェア開発ライフサイクル全体にわたるGitLabの豊富なコンテキストを活用できます。</li>
</ul>
<h2>今すぐ始める</h2>
<ul>
<li>GitLab.comおよびGitLab 18.2を使用するセルフマネージド環境の<strong>GitLab PremiumおよびUltimateのお客様</strong>は、Duo Agent Platformをすぐに使用できます（GitLab Duoの<a href="https://docs.gitlab.com/user/gitlab_duo/turn_on_off/#turn-on-beta-and-experimental-features">ベータ版および実験的機能を有効にする必要があります</a>）。</li>
<li>ユーザーは<a href="https://marketplace.visualstudio.com/items?itemName=GitLab.gitlab-workflow">VS Code拡張機能</a>または<a href="https://plugins.jetbrains.com/plugin/22857-gitlab">JetBrains IDEsプラグイン</a>をダウンロードし、Duo Chat <a href="https://docs.gitlab.com/user/gitlab_duo_chat/examples/#gitlab-duo-chat-slash-commands">スラッシュコマンド</a>を含む<a href="https://docs.gitlab.com/user/gitlab_duo_chat/agentic_chat/#use-agentic-chat">GitLab Duo Agentic Chatの使用ガイド</a>に従ってください。</li>
</ul>
<p><strong>GitLabは初めてですか？</strong> 誰でも今後の<a href="https://page.gitlab.com/webcasts-jul16-gitlab-duo-agentic-ai-emea-amer.html">GitLab Duo Agent Platformを実際に見るための技術デモ</a>に参加できます。GitLab Duo Agent Platformを自分で実際に体験するには、今すぐ<a href="https://gitlab.com/-/trials/new?glm_content=default-saas-trial&amp;glm_source=about.gitlab.com%2Fsales%2F">無料トライアル</a>にサインアップしてください。</p>
<p>&lt;small&gt;<em>このブログ記事には、改正1933年証券法第27A条および1934年証券取引所法第21E条の意味における「将来の見通しに関する記述」が含まれています。このブログ記事に含まれる将来の見通しに関する記述に反映された期待は合理的であると考えていますが、それらは既知および未知のリスク、不確実性、仮定、およびその他の要因の影響を受けるため、実際の結果または成果は、将来の見通しに関する記述によって表現または暗示されたものと大きく異なる可能性があります。</em></p>
<p><em>将来の見通しに関する記述に含まれるまたは検討される実際の成果や結果が大きく異なる原因となる可能性のあるリスク、不確実性、およびその他の要因に関する詳細情報は、証券取引委員会に提出する書類および報告書の「リスク要因」という見出しおよびその他の箇所に記載されています。私たちは、このブログ記事の日付以降に発生するイベントや状況を報告したり、予期しないイベントの発生を反映したりするために、将来の見通しに関する記述の改訂を更新または公開する義務を法律で要求される場合を除いて負いません。</em>&lt;/small&gt;</p>
]]></content>
        <author>
            <name>Bill Staples</name>
            <uri>https://about.gitlab.com/blog/authors/bill-staples</uri>
        </author>
        <published>2025-07-17T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[オープンソースソフトウェア（OSS）とは？詳しく解説​]]></title>
        <id>https://about.gitlab.com/ja-jp/blog/what-is-open-source/</id>
        <link href="https://about.gitlab.com/ja-jp/blog/what-is-open-source/"/>
        <updated>2025-07-17T00:00:00.000Z</updated>
        <content type="html"><![CDATA[<h2>オープンソースとは？</h2>
<p>オープンソースとは、ソフトウェアのコードが公開され、誰もが利用、改良、再配布できるという仕組みのことを指します。「オープンソースソフトウェア」と同義で使用されることが多いです。</p>
<h2>オープンソースソフトウェア（OSS）とは？</h2>
<p>オープンソースソフトウェアはOSSとも記述され、Open Source Softwareの略称です。一般的な商用ソフトウェアとは異なり、誰でも利用、改良、再配布ができるようソースコードが公開されています。これにより個人や企業のデベロッパーは、各々の環境に合わせてソフトウェアを自由に改変し、特定の用途や問題に最適化することが容易にできます。ただし、OSSによってはライセンス制約が存在する場合もあります。</p>
<p>フリー（無料）ソフトと混同されることがありますが、フリーソフトのほとんどはソースコードが非公開です。よって、ソースコードが公開されているかどうかで、OSSかの判断をするのが一般的です。</p>
<h2>オープンソースソフトウェアの基本原則</h2>
<p>オープンソフトウェアに明確な定義はありませんが、「ソースコードが公開されていること」以外にも広く認知されている要件があります。これら要件は、米国のOpen Source Initiative（OSI）という団体が提唱した以下10項目を指すのが一般的です。</p>
<ul>
<li>再配布の自由</li>
<li>ソースコードの配布</li>
<li>派生ソフトウェアの配布許可</li>
<li>作成者のオリジナルコードの完全性</li>
<li>個人やグループに対する差別禁止</li>
<li>使用分野に対する差別禁止</li>
<li>ライセンスの配布</li>
<li>特定製品でのみ有効なライセンスの禁止</li>
<li>他ソフトウェアを制限するライセンスの禁止</li>
<li>ライセンスの技術的中立</li>
</ul>
<p>要約するとOSSの基本原則は、ユーザーやデベロッパーに自由を提供し、協力的な環境を促進することと言えます。ただし、「自由」ではあるものの、ライセンスによって一定のルールは設定されています。例えば、GPLやMITライセンスは、OSSに付随するライセンスの利用や再配布、改変の範囲を規定し、自由利用を促進しつつも、デベロッパーやユーザーの権利を保護しています。OSS利用の際は、こういったライセンスルールを理解し、遵守することを忘れないようにしましょう。ライセンスについては後ほど詳しく解説します。</p>
<h2>オープンソースソフトウェアの具体例</h2>
<p>どういったソフトウェアがOSSなのかと問われると、すぐには思いつかないかもしれません。実際に、どういったソフトが様々な分野で活躍しているのかいくつかご紹介しましょう。</p>
<h3>WordPress</h3>
<p>WordPressという名前は、誰もが一度は聞いたことがあるでしょう。WordPressはウェブサイトを簡単に作成できるコンテンツ管理システム（CMS）で、世界中でもっとも利用されているCMSとなっています。ウェブサイトデベロッパーは自由にカスタマイズを行うことができ、また、活発なコミュニティで互いをサポートし合うことにより、新たな拡張機能の開発等に貢献しています。</p>
<h3>GIMP</h3>
<p>GIMPは、イラストレーター、グラフィックデザイナー、フォトグラファー、サイエンティストなど画像を扱う専門家に人気の画像編集ソフトウェアです。ユーザーは無料でダウンロードして利用でき、WordPressと同じく活発なコミュニティが、日々のバグ修正や、新プラグインを開発をサポートしています。</p>
<h3>Brave Browser</h3>
<p>Braveは、ユーザーのプライバシー保護を主眼としたウェブブラウザであり、広告やトラッキングを防止してくれます。さらに、独自の暗号通貨（BAT）や検索システムを開発しているなどの理由で、デベロッパー間では人気のブラウザの一つです。Braveもオープンソースであるため、個人が自由にブラウザ機能をカスタマイズしたり、新たに機能を追加したりすることができる仕様となっています。</p>
<h3>GitLabのオープンソースプロジェクト</h3>
<p><a href="https://about.gitlab.com/ja-jp/">GitLabプラットフォーム</a>を利用して開発されているオープンソースプロジェクトをいくつかご紹介します。</p>
<h4>Drupal</h4>
<p>DrupalはWordPressと同様に、オープンソースのコンテンツ管理システム（CMS）です。堅牢性と拡張性の高さが評価されており、NASAや経済産業省といった政府機関や、Teslaなどの企業に採用されています。</p>
<h4>VLC</h4>
<p>WindowsやMacにとどまらず、LinuxやiOS等でも使うことできる、メディアプレイヤーです。多様な種類の音声や動画ファイルを再生でき、様々なファイル形式に対応しています。広告等、ユーザーにとって不要な機能が一切搭載されておらず、世界中で広く利用されています。</p>
<h4>LibreOffice</h4>
<p>Microsoft Officeとよく比較されることがあるのが、LibreOfficeです。無料で利用することができ、様々なオフィスツールを提供することから、たくさんの企業や個人に使用されています。</p>
<h2>オープンソース開発のメリットとデメリット</h2>
<p>OSSの開発には様々なメリットとデメリットがあります。開発手法についての議論は付きませんが、ここでは言及されることが多いポイントをいくつか挙げてみます。</p>
<h3>メリット</h3>
<h4>コミュニティによる自発的なサポートと開発</h4>
<p>オープンソース開発は通常、世界中のデベロッパーが参加した活発なコミュニティを形成しています。多種多様なバックグランドを持つ個々のユーザーたちがお互いにアイデアやフィードバック、サポートし合うことを基本とし、継続的な開発とサポートをしてくれます。</p>
<h4>高い透明性に担保された信頼とセキュリティ</h4>
<p>OSSの信頼とセキュリティは、誰もがソースコードを参照できることで実現されています。</p>
<p>まず、たくさんのデベロッパーの目に触れるため、脆弱性やバグが比較的早い段階で発見されます。これにより、セキュリティを高レベルに引き上げることができます。そして、ソースコードが公開されているため、不正な動作やバックドアの存在といったリスクを排除しやすく、ソフトウェアの信頼性を高めてくれます。</p>
<h4>開発にかかる時間と費用の削減</h4>
<p>オープンソースソフトウェアは大抵が無料で、自由にソースコードを改変できます。よって、ライセンス料とスクラッチ開発が不要であり、個人や企業の費用と開発時間を大幅に削減してくれます。</p>
<h3>デメリット</h3>
<h4>開発プロジェクトの継続性</h4>
<p>オープンソース開発は、有志が中心となって行われる場合が多いため、プロジェクトが遅延したり、突然中止となったりするリスクがあります。また、安定した開発スケジュールが維持されないこともあります。</p>
<p>プロジェクトの多くは無償、スポンサー、寄付で成り立っていることが一般的なので、開発コアメンバーが抜けた、資金が枯渇してしまった、などの理由から開発自体が立ち行かなくなることもあります。</p>
<h4>責任の所在が曖昧</h4>
<p>コミュニティ主導で開発が進められる場合、ユーザーにバグや他ソフトと統合できないといった問題が発生しても商用ソフトウェアとは異なり、自己解決しなくてはならないケースが通常です。迅速かつ的確なサポートが受けづらいケースも、発生することがあります。</p>
<h4>ライセンスの準拠で</h4>
<p>当然ながら、OSSにもライセンスが存在します。無条件に利用や再配布ができるわけではないので、しっかりとライセンスを理解した上で使用しなければいけません。ライセンス規約に違反してしまい、過去には訴訟に発展したケースもあるため、注意が必要です。詳しくは後ほど解説します。</p>
<h3>オープンソースの課題とGitLabのアプローチ</h3>
<p>GitLabというプラットフォームが、OSSにおける課題に対してどう取り組んでいるかについて、いくつかご紹介しましょう。詳細を知りたい場合は、<a href="https://about.gitlab.com/ja-jp/solutions/open-source/">オープンソースプロジェクト向けのGitLabソリューション</a>を読んでみてください。</p>
<h4>脆弱性の早期発見と修正</h4>
<p>オープンソースは、コードが公開されているため、悪意のある人物が脆弱性を発見してしまうリスクがあります。</p>
<p><a href="https://about.gitlab.com/ja-jp/topics/devsecops/">DevSecOpsプラットフォーム</a>であるGitLabは、開発プロセス全体においてセキュリティを重要視しています。静的アプリケーションセキュリティテスト（SAST）や依存関係スキャンといった強力なツールが、早期の脆弱性発見と修正を実現する仕組みを実現します。</p>
<h4>サポートの補完</h4>
<p>OSSはコミュニティによるサポートが中心となり、的確なサポートや迅速な対応を受けられないケースが発生することがあります。</p>
<p><a href="https://about.gitlab.com/ja-jp/pricing/">商用版GitLab</a>には、「GitLab Premium」「GitLab Ultimate」があり、公式サポートという選択肢が用意されています。また、コミュニティの結束を高める働きかけをすることで自発的サポートも促進しています。</p>
<h4>コミュニティの活性化</h4>
<p>活発なコミュニティなしに、OSSを成功させることはできませんが、これを維持するのは容易ではありません。</p>
<p>GitLabは、<a href="https://forum.gitlab.com/c/community/gitlab-for-open-source/49">GitLabフォーラム</a>を運営したり、<a href="https://about.gitlab.com/ja-jp/solutions/open-source/join/">オープンソース団体向けプログラム</a>を実施、GitLabハッカソンやオンラインイベントを開催したりすることで、デベロッパー同士の繋がりを促進、コミュニティの活性化と拡大に貢献しています。</p>
<h2>オープンソースのライセンスとその重要性</h2>
<p>オープンソースのライセンスは、ソフトウェアの利用、配布、変更等に関する権利と制限を明記したものであり、法的拘束力を持ちます。よって、ソフト利用者はこれをしっかりと理解した上で、トラブル回避をすることが望ましいといえます。</p>
<p>また、ソフトウェアデベロッパーがどのライセンス規約にするかを考える場合には、透明性を重視するのか、自由度を重視するのかなどにより選択するライセンスが異なってきます。ここでは、いくつか代表的なものをご紹介しましょう。</p>
<p>以下に表としてまとめてみました。</p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1752720035/v9ld6h78ilk22x30nged.jpg" alt="オープンソース　ライセンスのタイプと代表例"></p>
<h3>コピーレフト</h3>
<p>コピーレフトライセンスは、元となるソフトウェアを再配布する時には、派生物も元OSSと同じ条件下で行う必要があるというものです。このタイプのライセンスは、非常に伝播性が強いのが特徴です。</p>
<p>またコピーレフトという言葉は、「コピーライト」をもじったものから誕生しました。</p>
<h3>準コピーレフト</h3>
<p>コピーレフトと比べ、伝播性が多少弱いのが準コピーレフトです。元のOSSのソースコードを再利用した時に、元のライセンスと同条件で再配布する必要があります。</p>
<h3>非コピーレフト</h3>
<p>パーミッシブライセンスとも呼ばれます。名前の通りですが、元のOSSと同条件のライセンスにする必要がありません。ソースコードの公開義務がないため、商用利用されることが多いです。</p>
<h2>よくある質問</h2>
<h3>オープンソースソフトウェア（OSS）とは何ですか？</h3>
<p>OSSとは、ソースコードが公開され、誰でも自由に利用、修正、配布できるソフトウェアのことです。</p>
<h3>OSSのセキュリティは安心ですか？</h3>
<p>OSSライセンスは、ソフトウェアの利用や再配布に関する自由と制約を明確に定義したものです。</p>
<h3>OSSのライセンスにはどんな種類がありますか？</h3>
<p>ライセンスにはGPL、MIT、Apache Licenseなど、異なる自由度や利用条件を持つものがあり、コピーレフト、準コピーレフト、非コピーレフトの３つに大別されます。</p>
<h3>なぜ企業がOSSを採用するのですか？</h3>
<p>コスト削減、柔軟性、信頼性向上、技術コミュニティとの連携が理由となる場合が多いです。またGitLabでは、<a href="https://about.gitlab.com/ja-jp/solutions/open-source/">オープンソースプロジェクト向けのソリューション</a>を提供しています。ぜひご確認ください。</p>
<p><em>監修：佐々木 直晴</em> <a href="https://gitlab.com/naosasaki">@naosasaki</a><em>（GitLab合同会社 ソリューションアーキテクト本部 シニアソリューションアーキテクト）</em></p>
]]></content>
        <author>
            <name>GitLab Team</name>
            <uri>https://about.gitlab.com/blog/authors/gitlab-team</uri>
        </author>
        <published>2025-07-17T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[Claude Code × GitLab：AI活用を加速する、エージェンティックAIとGitLab CLIによる効率的なソフトウェア開発フロー]]></title>
        <id>https://about.gitlab.com/ja-jp/blog/claude-code-gitlab-ai-development-workflow/</id>
        <link href="https://about.gitlab.com/ja-jp/blog/claude-code-gitlab-ai-development-workflow/"/>
        <updated>2025-07-14T00:00:00.000Z</updated>
        <content type="html"><![CDATA[<h2>目次</h2>
<ol>
<li>はじめに: AI活用の新時代を切り拓く効率的なソフトウェア開発</li>
<li>Claude Codeとは何か？</li>
<li>GitLabのCLIであるGLabの紹介</li>
<li>Claude CodeとGLabを組み合わせた開発の流れ</li>
<li>AIを使った開発の今後の広がりについて</li>
<li>まとめ</li>
<li>よくある質問</li>
</ol>
<h2>はじめに: AI活用の新時代を切り拓く効率的なソフトウェア開発</h2>
<p>この記事を読むと、エージェント型AIであるClaude CodeとGitLab CLIツール「GLab」を組み合わせて、ローカル環境から効率的にIssue作成・MR操作・レビュー依頼などを自動化し、生成AIによるコード補助を活かした実践的な開発フローを構築する方法がわかるようになります。</p>
<h2>Claude Codeとは何か？</h2>
<p>Claude Codeとはエージェント型AIで、ターミナル上でAIにコマンドを実行させることで既存ツールを使いながら効率的に開発できます。</p>
<h2>GitLabのCLIであるGLabの紹介</h2>
<p>GLabはオープンソースのGitLab CLIツールです。GLabをターミナルに統合し、作業中のコマンドラインツールや、IDEの中に表示できます。GitLabのWebUIにアクセスするためにブラウザのウィンドウやタブに切り替える必要がなくなり、マージリクエストの作成やパイプラインの状況の確認など、様々なことを直感的にコマンドラインで実行可能になります。</p>
<h2>Claude CodeとGLabを組み合わせた開発の流れ</h2>
<h3><strong>Claude Codeとglabのインストール</strong></h3>
<p>ここでは個別のインストール方法や導入の仕方については割愛しますが、下記の公式サイトが参考になると思いますのでご確認ください。</p>
<p>Claude Code: <a href="https://docs.anthropic.com/ja/docs/claude-code/overview">https://docs.anthropic.com/ja/docs/claude-code/overview</a></p>
<p>GLab: <a href="https://gitlab.com/gitlab-org/cli/-/blob/main/README.md">https://gitlab.com/gitlab-org/cli/-/blob/main/README.md</a></p>
<h3><a href="https://gitlab.com/gitlab-org/cli/-/blob/main/README.md"></a><strong>GitLabの認証情報を設定</strong></h3>
<p>まずはGLabのセットアップをしていきましょう。GLabでGitLabサーバーにログインします。</p>
<p><code>$ glab auth login</code></p>
<p>上記を実行すると、ログインするサーバーの先を問われるので、選びます。続いて、Tokenによるログインか、Webブラウザを使って認証するか聞かれるため、これも好きな方を選んでください。下記は、Webを選んだ場合の画面です。</p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1752198573/tl81t9qzwhqjnrro3lrb.png" alt="Webログイン"></p>
<p>次に、Gitクライアントが通信するデフォルトのプロトコルを聞かれるので、これも好きなものを選んでください。環境によってはSSHプロトコルの通信が制限されている場合もあるかと思うので、そのような場合はHTTPSを選ぶことをおすすめします。</p>
<p>最後に、Gitの認証にもCredentialsの認証情報使うかを問われるため、これも選んでいただければと思います。
Yesの場合は、GitのHTTPS認証にもglabのPersonal Access Token（PAT）を使うよう.gitconfigに設定され、Noを選んだ場合は、glabでIssueやMRの操作をする一方で、Gitのpush/pullは従来通りのSSHや別途設定した認証方式で行う必要があります。</p>
<p>初期の設定が終わった画面を下記に示します。</p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1752198582/xtpheeez1gcwr8sfjmdv.png" alt="初期設定完了画面"></p>
<h3><strong>開発対象プロジェクトのclone</strong></h3>
<p>次に、Claude Codeに指示を与えて、glabコマンドを使って、リモートリポジトリからcloneします。下記のコマンドでClaude Codeを起動します。</p>
<p><code>$ claude</code></p>
<p>既にGLabで認証は終わっているため、作業するプロジェクトのリポジトリをcloneするように指示を与えます。</p>
<p><code>&gt; GitLab上で自分が参加しているプロジェクトを表示してください</code></p>
<p>上記のようにプロンプトするとClaude Codeが</p>
<p><code>$ glab repo list</code></p>
<p>などを実行してくれると思います。次に、作業したいリポジトリを上記から選び、Cloneします。プロジェクト名は各自の環境に合わせて指定してください。</p>
<p><code>&gt; プロジェクト naosasaki-demo/study/spring-demo をcloneしてください</code></p>
<p>Claude Codeの処理が終わると、一度Claude Codeを終了し、ターミナルでディレクトリを確認すると、cloneされたディレクトリが作られていることがわかると思います。</p>
<p><strong>新しいIssueの作成</strong></p>
<p>次に、このプロジェクトに新しくイシューを作りたいと思います。通常であればWebブラウザでGitLabにアクセスしイシューを登録しますが、GLabとClaude Codeを使って、IDEやターミナル画面から作ってみたいと思います。</p>
<p><code>&gt; このプロジェクトに新しいイシューを作ってください。内容は、今の東京の温度と天気を返すWebAPIのエンドポイントを作成します。</code></p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1752198573/iizlucpfxgsa0nrdsvqn.png" alt="イシュー作成"></p>
<p>上記のようにglabを使ってイシューを作成するコマンドが提案されます。またイシューのなかの記載もある程度書いてくれていることがわかります。</p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1752198579/ye2wtupp6nf8ljzja2yh.png" alt="イシュー作成"></p>
<p>ブラウザでアクセスしても、正しく作られていることがわかります。</p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1752198582/vbo22zzdzzanvnrbsszq.png" alt="イシュー作成"></p>
<h3><strong>マージリクエストとブランチの作成と作業開始</strong></h3>
<p>次に、実際のこのIssueの内容を実装していきたいと思います。ここからはIDEのVisual Studio Codeも利用していきたいと思います。Visual Studio Codeを起動し、内蔵されたターミナルを開き、そこでClaude Codeを起動します。</p>
<p>早速、先ほど作ったイシューからマージリクエストを作って、その中で作業をしていきたいと思います。</p>
<p><code>&gt; このリポジトリのプロジェクトのissue 53を実装したいので、glabでMRを作って、そのブランチをチェックアウトして</code></p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1752198573/or6l5si3k4dbprcnnfgq.png" alt="マージリクエストとブランチの作成と作業開始"></p>
<p><strong>コードの編集と検証</strong></p>
<p><code>&gt; イシューの記載に基づいて実装してください。また、リポジトリ内部のドキュメントも追加に伴って更新してください。</code></p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1752198573/dlgq0j60n2jfk24vxaj3.png" alt="コードの編集と検証"></p>
<p>OpenWeatherMap APIを使うことを提案してくれています。そのほかにも、いくつかのクラスを作成することを提案されるので、中身を確認しつつ、それを受け入れ、git pushなども依頼します。</p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1752198584/esdeisz4mzyyjlerlahl.png" alt="CC_8_git push"></p>
<h3><strong>レビューとCI/CDの確認</strong></h3>
<p>実際にマージリクエストを確認すると、ローカルで作成した変更がプッシュされ、GitLab側のCI/CDでの単体テストや、セキュリティスキャンなども正常に実行され、問題なく終了していることがわかりました。</p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1752198573/e7hyheb5gkpvb7iixrro.png" alt="レビュー"></p>
<p>しかし、テストが通っていても、それが適切な方法で実装されているか、非機能的な観点で問題がないかは別途確認する必要があります。ここで<a href="https://docs.gitlab.com/user/project/merge_requests/duo_in_merge_requests/">GitLab Duo in merge requests</a>という機能を利用して、GitLabのAI機能であるGitLab Duoにレビューを依頼してみたいと思います。</p>
<p>マージリクエストのコメントでレビューをリクエストし、レビュアーとしてDuoを指定します。この時、レビューの観点なども同時に与えることができます。下記のようにコメントでレビューをDuoに依頼します。</p>
<p><code>/request_review @GitLabDuo</code></p>
<p><code>マージリクエストのコードを下記の観点でレビューしてください：</code></p>
<p><code>拡張性：将来的な機能追加や変更に対応しやすい設計・実装になっているか   可読性：他の開発者が理解しやすいコードになっているか   安全性：バグやセキュリティリスクを引き起こす可能性がないか   パフォーマンス：必要以上にリソースを消費していないか</code></p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1752198581/tnkt52hpapm8cyi4qplw.png" alt="Duoレビュー"></p>
<p>上記をコメントすることで、Duoにレビューを依頼できます。</p>
<p>実際にレビュー指摘がありました。</p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1752198573/vehscyu2beo4pz9ns3y2.png" alt="Duoレビュー指摘"></p>
<p>Duoの指摘のとおり、Claude Codeが生成した元のコードでは、translateWeatherToJapanese メソッドが呼ばれるたびに HashMap が新しく作成されています。これはパフォーマンスの低下や不要なオブジェクト生成につながります。Duoは「このマップは不変であり、再利用可能なので static final にすべき」と提案しています。これの指摘は確かにその通りなので、マージリクエスト上でこの指摘と、変更の提案を受け入れます。</p>
<p>この変更の受け入れ自体も、ソースコードの変更なので、受け入れたらCI/CDパイプラインが動き出して、再度自動的にセキュリティスキャンや単体テスト実施されます。再度CI/CDパイプラインが動き、問題がなかったためmainブランチにマージしました。これでこの機能の開発は完了です。</p>
<h2>AIを使った開発の今後の広がりについて</h2>
<h3><strong>AIは「補助ツール」から「実行の主体」へ</strong></h3>
<p>従来のチャットベースのインタラクティブな開発支援、すなわち一問一答のやり取りを繰り返しながら人間が主導で手を動かしていた開発スタイルから、いま大きな転換が始まっています。</p>
<p>GLabのようなCLIツールやWebAPIと、エージェンティックAIを組み合わせることで、「命令→実行→ステータス確認→再試行」といった一連の開発オペレーションを、AIが自律的かつ反復的に担う、まさに実行主体としてのAIへの進化が進んでいます。</p>
<p>これは単なる補助からの脱却であり、ソフトウェア開発における人と機械の役割分担そのものを再定義しつつあります。人間は「何を実現したいか」を定義し、AIは「どう実現するか」を粘り強く試行錯誤していく、そんな協働の形が、現実の開発現場に静かに浸透し始めています。</p>
<p><strong>レビューとガバナンスの重要性</strong></p>
<p>AIによってコードが自動生成されるようになった今、開発効率が飛躍的に向上する一方で、「そのコードは本当に安全か？」「人間はAIの出力を正しくレビューできるのか？」といった新たな課題が生まれています。</p>
<p>人間の作業と同様に、AIによって生成されたコードは、動作するからといって、品質が担保されているとは限りません。</p>
<p>こうした背景から、組織的にAIを活用していくには、<strong>コードの品質・セキュリティ・コンプライアンスを保証する仕組みを開発プロセスに組み込む</strong>ことが不可欠です。</p>
<p>今回は、コードの生成にClaude Codeを利用しましたが、そのコードに含まれる性能的な懸念をGitLab Duoによるレビューで摘出することができました。</p>
<p>その他にも、GitLabでは「パイプライン実行ポリシー」を用いることで、プロジェクト単位ではなくグループやサブグループに対して、<strong>SASTや依存関係スキャン、シークレット検出などのセキュリティジョブを強制適用</strong>することが可能です。</p>
<p>このように、<strong>AIによる開発支援とセキュリティ・品質管理の自動化を同時に実現できる</strong>のは、DevSecOpsを包括的に支援するプラットフォームであるGitLabの強みといえます。</p>
<h2>まとめ</h2>
<p>この記事では、Claude CodeのようなAIエージェントと、GitLab公式CLIツールGLabを組み合わせることで、自然言語によるコード生成からGitLab上でのイシュー管理やマージリクエスト作成までをAIエージェントにやってもらうことで、開発効率を向上させる例を紹介しました。一方で、AIエージェントが生成するコードの品質を担保するには、GitLabのセキュリティスキャンやパイプライン実行ポリシーを活用した自動検証の仕組みが欠かせません。AIと人間、それぞれの強みを活かした開発フローが、今後ますます重要になっていくでしょう。</p>
<blockquote>
<p>今すぐ始められる：GitLabでAIを使ったソフトウェア開発を体験しよう</p>
<p><a href="https://about.gitlab.com/ja-jp/solutions/gitlab-duo-pro/sales/">GitLab Duoの60日間無料トライアルに申し込む</a></p>
</blockquote>
<h2>よくある質問</h2>
<h3>Q1: GitLabのAI機能にはどのようなものがありますか？</h3>
<p>A1: GitLabのAI機能「GitLab Duo」には、ソースコードの提案、テストケース/コードの生成はもちろん、脆弱性の自動修復や、CI/CD失敗時の根本原因分析など、ソフトウェア開発全体に対するAIによる支援機能群が含まれています。</p>
<h3>Q2: GitLab Duoはユーザーのソースコードを学習に使いますか？</h3>
<p>A2: いいえ。GitLab Duoは利用者のコードやデータをモデルの再学習には使用しません。GitLabはユーザーデータのプライバシーとセキュリティを重視しており、企業向けにも安心して利用できる設計となっています。詳細については、<a href="https://about.gitlab.com/ai-transparency-center/">GitLab AI Transparency Center</a>をご確認ください。</p>
<h3>Q3: Claude Codeとは何ですか？</h3>
<p>A3: Claude Codeとはエージェント型AIで、ターミナル上でAIにコマンドを実行させることで既存ツールを使いながら効率的に開発できます。</p>
<h3>Q4: GitLab CLIのGLabとは何ですか？</h3>
<p>A4: GLabは、GitLab公式が提供するオープンソースのCLIツールです。GLabをターミナルに統合し、作業中のコマンドラインツールや、IDEの中に表示できます。</p>
]]></content>
        <author>
            <name>Naoharu Sasaki</name>
            <uri>https://about.gitlab.com/blog/authors/naoharu-sasaki</uri>
        </author>
        <published>2025-07-14T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[Monday Merge 7月号]]></title>
        <id>https://about.gitlab.com/ja-jp/blog/monday-merge-2025-july-14/</id>
        <link href="https://about.gitlab.com/ja-jp/blog/monday-merge-2025-july-14/"/>
        <updated>2025-07-14T00:00:00.000Z</updated>
        <content type="html"><![CDATA[<p>GitLabコミュニティのみなさん、こんにちは！Fatimaです。今月のMonday Mergeも、本当に盛りだくさんです！GitLab 18の最新トピックはもちろん、活気あふれるニューヨークでのAWS Summit、新しいライブ番組のスタート、そして注目のカスタマーストーリーまで。7月はまさにDevSecOpsの話題で溢れています。</p>
<p>さらに、IBMと協力してメインフレームDevOpsの最新化にも取り組んでいます。（そう、あのCOBOLが再び注目を浴びています！）</p>
<p>それでは、さっそく見ていきましょう👇</p>
<h2>GitLab 18 バーチャルローンチ：AI × オーケストレーションの未来へ</h2>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1752204279/ryjaxhkcssnxn9x6genq.png" alt="GitLab 18 バーチャルローンチ：AI × オーケストレーションの未来へ"></p>
<p>先月、GitLab 18のバーチャルローンチイベントを開催しました。<br>
ライブ配信を見逃した方も大丈夫。ここで簡単にポイントを振り返ります。</p>
<p>注目のハイライトは？ <br>
それは、GitLab Duo Agent Platform の登場です。この新しいプラットフォームでは、エンジニアとAIエージェントがソフトウェア開発のあらゆる工程で連携・協働できるようになります。これにより、開発チームの生産性や開発スピードが大きく向上することが期待されています。</p>
<p>GitLabのCEO、ビル・ステイプルズはこのように語りました：</p>
<blockquote>
<p><em>「GitLab 18は、人とAIエージェントが一緒に働けるDevSecOpsオーケストレーションフォームです。ソフトウェア開発のあらゆる工程で、“エージェント型AI”を活用したチームワークを実現します。」</em></p>
</blockquote>
<p>つまり、これは開発者の代わりになるものではなく、繰り返し作業の負担を減らし、人の創造力と専門性をもっと活かせるようにするための進化です。私たちはそんな未来を目指しています。</p>
<p>さらに今回、GitLabの統合DevSecOpsプラットフォームとAmazon Q Developerエージェントの連携も発表しました。この強力な組み合わせにより、より安全でスピーディーなソフトウェア開発が実現します。</p>
<p>GitLab Duo + Amazon Qは、AIを活用したシームレスな開発の新時代を象徴するものです。</p>
<p>イベントにはBarclaysとThalesも登場し、GitLab 18がそれぞれの組織の開発プロセスをどう変えているのか、リアルな声を共有してくれました。金融の高度なセキュリティ要件から航空業界のイノベーションまで、GitLab 18がもたらす影響は確かなものです。</p>
<p>👉 イベントのフル動画は <a href="https://about.gitlab.com/ja-jp/eighteen/?utm_medium=social&amp;utm_source=linkedin&amp;utm_campaign=20250624_global_corp_webcast_aisdlc_en_gitlab18">GitLab 18 Launch Event</a>ページ でご覧いただけます。</p>
<h2>GitLab 18.1がリリースされました：セキュリティ、スピード、そしてAIの進化</h2>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1752204279/wbauaqzctmlul8lg7mu3.png" alt="18.1"></p>
<p>GitLab 18をリリースをしてすぐではありますが、<a href="https://about.gitlab.com/ja-jp/blog/gitlab-18-01-release/">GitLab18.1が登場</a>しました！この最初のリリースには、チームの開発スピードとセキュリティをさらに高めるためのアップデートが満載です。</p>
<h4>注目の新機能はこちら：</h4>
<p>✅ Duoコードレビュー が正式リリース！<br>
AIがマージリクエストに対してインテリジェントなフィードバックを提供し、レビューのスピードアップやバグの早期発見を支援します。</p>
<p>📦 Maven仮想レジストリ（Virtual Registry） がベータ版に<br>
GitLab上でのMaven依存関係の管理がより簡単になりました。</p>
<p>🔐 漏洩パスワード検出機能 を追加<br>
あなたのパスワードが既知のデータ漏洩に含まれていないかを検出し、安全な変更方法を案内してくれます。</p>
<p>🔁 SLSAレベル 1 準拠をサポート<br>
新しいCI/CDコンポーネントを使って、ソフトウェアサプライチェーンのセキュリティ強化に貢献します。</p>
<p>そして、何より嬉しいのは、みなさんからの 110件以上の改善と、311件ものコミュニティ貢献によってこのリリースが実現したことです。開発・レビュー・ドキュメント・ビルドに関わってくださった全ての方々、本当にありがとうございます！</p>
<p>👉 <a href="https://about.gitlab.com/ja-jp/blog/gitlab-18-01-release/">リリースノート全文はこちら！</a></p>
<h2>新ライブ配信シリーズ：The Developer Show – Powered by GitLab</h2>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1752204283/guz14qmyjhiyuf6oyh9k.png" alt=""></p>
<p>GitLabからの新しいライブ配信シリーズが始まりました！その名も The Developer Show – Powered by GitLab。私とセキュリティPMMのSalがホストを務める、月1回のライブ配信番組です。</p>
<p>これはよくある「普通のウェビナー」ではありません。毎回、実際に今の開発現場を変えている技術について深く掘り下げていきます。</p>
<p>対象は、開発者、開発リード、コードに関わるすべての人。業界で本当に語られているリアルな会話をキャッチアップしたい人向けです。</p>
<p>📺 エピソード1では、GitLab 18 バーチャルローンチの内容を振り返り！<br>
ハイライトの紹介はもちろん、実践的なヒントやちょっと辛口なコメントも交えてお届けします。</p>
<p>👉 <a href="https://www.linkedin.com/events/7340777668130312193/comments/">今すぐ視聴＆チャンネル登録して、次回もお見逃しなく！</a></p>
<h2>AWS Summit New York：GitLabブースでお会いしましょう！ !</h2>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1752204279/thiukj2hnn9mjyd1mcui.png" alt=""></p>
<p>先日の東京に引き続き、7月16日、GitLabチームはニューヨークで開催されるAWS Summitに参加します！お近くの方は、Javits Center内のGitLabブースにぜひお立ち寄りください。</p>
<p>当日は以下の内容をご用意しています：</p>
<ul>
<li>GitLab DuoのAI機能を体験できるハンズオンデモ</li>
<li>セキュリティ、開発スピード、開発者体験に関するライトニングトーク</li>
<li>GitLabのDevSecOpsエキスパートとの対話（ご質問大歓迎です！）</li>
<li>限定ノベルティやプレゼントもご用意しています</li>
</ul>
<p>さらに、当日はAWSのAgentic AI担当VPのSwami Sivasubramanian氏による基調講演も実施されます。Agentic AIがソフトウェア開発をどう変えていくのか、GitLabとしても非常に関心のあるテーマです。</p>
<p>参加登録は無料です。ぜひこちらからお申し込みください：<a href="https://about.gitlab.com/events/aws-summits/">登録はこちら</a></p>
<h2>GitLabチームに会いに来ませんか？ WeAreDevelopers World Congress !</h2>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1752204279/z9hot8dhmj1k4gjxefmg.png" alt=""></p>
<p>世界中の開発者とつながるこのイベントで、GitLabチームも皆さんとお会いできるのを楽しみにしています！スタンド A07 にぜひお立ち寄りください。GitLabのDevSecOpsプラットフォームが、ソフトウェアのデリバリーをどのように加速し、チーム間のコラボレーションを強化できるか等をご紹介します。</p>
<p>CI/CDやセキュリティ自動化、開発フローの改善に興味がある方はもちろん、<br>
どんな質問にもチームメンバーがお答えしますので、お気軽にお声がけください。</p>
<p>また、金曜日には注目のセッションも：</p>
<ul>
<li>13:40〜 GitLab VP of Engineering、Maw Wildpanerによる講演<br>
　「なぜ“セキュリティファースト開発”が、より良いソフトウェアを早く届ける鍵となるのか」</li>
<li>16:30〜 GitLab VP of Strategy and Developer Relations、Emilio Salvadorが登壇するパネル「DevRelの戦略的な力：コミュニティからビジネスインパクトへ」</li>
</ul>
<p>👋 <a href="https://www.wearedevelopers.com/world-congress/">ベルリンでお会いしましょう！</a></p>
<h2>事例のご紹介：Thales</h2>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1752204279/m85bcsqac7gitoewqfrb.png" alt="Thales"></p>
<p>今月の事例紹介は、なんと高度3万5千フィートの空の上からお届けします。Thales は、航空宇宙・防衛分野のグローバルリーダー企業。彼らは従来のDevOpsプロセスを、クラウドネイティブでCI/CD駆動のイノベーションエンジンへと進化させました。</p>
<p>GitLabを活用して開発したのが、次世代の機内エンターテインメントシステム「FlytEDGE」。乗客ごとにパーソナライズされたコンテンツやサービスを提供しながら、デプロイ時間を95%短縮することに成功しています。分散チーム間のコラボレーションをスムーズにし、パイプライン全体に自動化を導入し、開発者がボトルネックなく素早くリリースできる環境を実現。その結果、従来の20倍のスピードでデプロイできるようになりました。</p>
<p>👉 <a href="https://about.gitlab.com/ja-jp/customers/thales/">こちらから導入事例を詳しくご覧ください</a></p>
<h2>今月のおすすめ記事</h2>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1752204283/agkyge3unfoilwmmk1c9.png" alt=""></p>
<p>今月もGitLabのSlackチャンネルでは、たくさんの素晴らしいDevSecOpsの考えや情報がシェアされています。その中から特に注目されているものをご紹介します。</p>
<ul>
<li><a href="">https://japan.zdnet.com/article/35234560/</a></li>
<li><a href="https://vmblog.com/archive/2025/06/23/breaking-down-silos-gitlab-and-ibm-partner-to-modernize-mainframe-devops.aspx">https://vmblog.com/archive/2025/06/23/breaking-down-silos-gitlab-and-ibm-partner-to-modernize-mainframe-devops.aspx</a></li>
<li><a href="https://www.nextgov.com/ideas/2025/05/legacy-government-systems-enter-ai-era/405642/">https://www.nextgov.com/ideas/2025/05/legacy-government-systems-enter-ai-era/405642/</a></li>
<li><a href="https://www.economiematin.fr/investissement-operateur-telecom-technologie-caronna">https://www.economiematin.fr/investissement-operateur-telecom-technologie-caronna</a></li>
<li><a href="https://thenewstack.io/accelerating-developer-velocity-with-effective-platform-teams/">https://thenewstack.io/accelerating-developer-velocity-with-effective-platform-teams/</a></li>
<li><a href="https://leaddev.com/uncategorized/how-get-most-out-ai-tooling">https://leaddev.com/uncategorized/how-get-most-out-ai-tooling</a></li>
</ul>
<h2>📌 今月の名言</h2>
<blockquote>
<p>「何事も、それが成し遂げられるまでは不可能に思えるものだ。」<br>
– ネルソン・マンデラ</p>
</blockquote>
<p>高速なデプロイ、スマートなセキュリティ、次世代の開発者のための開発など、<br>
どんなに難しいことに取り組んでいても、あなたならきっとできます。</p>
<p>🦊 また次回まで！</p>
<p>GitLabコミュニティの一員でいてくださり、ありがとうございます！みなさんがGitLab 18でどんなものを作ってくださるのか、私たちも楽しみにしています。バーチャルイベントの登録と、AI機能の活用開始もお忘れなく。それではまた次回のMonday Mergeでお会いしましょう。Happy Merging! <br>
<a href="https://www.linkedin.com/feed/update/urn:li:activity:7340777670714019840">The Developer Showの購読もお忘れなく！</a></p>
<p><a href="">Fatima Sarah Khalid</a> | GitLab Developer Advocate</p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1752204279/hdcjv0v3qqk53xjazumo.png" alt=""></p>
<p><a href="https://www.linkedin.com/feed/update/urn:li:activity:7340777670714019840"></a></p>
]]></content>
        <author>
            <name>GitLab Japan Team</name>
            <uri>https://about.gitlab.com/blog/authors/gitlab-japan team</uri>
        </author>
        <published>2025-07-14T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[【DevOpsDive2025レポート】AIはソフトウェア開発ライフサイクル全体にAIを適用することで、未来の開発が見えてくる]]></title>
        <id>https://about.gitlab.com/ja-jp/blog/event-report-devopsdive2025/</id>
        <link href="https://about.gitlab.com/ja-jp/blog/event-report-devopsdive2025/"/>
        <updated>2025-07-10T00:00:00.000Z</updated>
        <content type="html"><![CDATA[<p>GitLabは2025年5月20日、東京・新宿の１０９シネマズプレミアム新宿において、「DevOpsDive2025」を開催しました。新宿ミラノ座の跡地に建つ複合施設にあり、プレミアム映画館として名高い会場のワンフロアを貸し切り、来場者の皆様にはポップコーンとジュースをサービス。映画鑑賞気分でイベントを楽しんでいただきました。</p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1751616948/rgayfhyenn1yjtkfeuxx.jpg" alt="DevOpsDive2025会場の様子"></p>
<p><em>会場の様子</em></p>
<p>振り返れば、<a href="https://about.gitlab.com/ja-jp/blog/event-report-devopsdive2024summer/">昨年のイベント</a>は観世能楽堂で実施して、大好評でした。GitLabは、全世界でオフィスを持たない企業として知られていて、全員がリモートワークです。社員とお客様、デベロッパーの皆様と直接触れ合える機会ですから、自分たちにとっても参加者の皆様にとっても楽しいものにしたいと、会場選びから気合を入れて準備してきました。ぜひ次の機会もお楽しみに！</p>
<p>さて、このブログ記事では、当日の講演の模様をお伝えします。テーマは、AIです。</p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1751616954/z2xaf83c4javhoxdamrs.jpg" alt="DevOpsDive2025会場の様子"></p>
<p><em>会場の様子</em></p>
<p>世間では、日本企業のAI活用は遅れているとされています。しかし、基調講演に登壇したAndrew Haschkaは、具体的なデータを示し、実はそうでないと説明します。Haschkaは、豪州を拠点にアジア太平洋地域を中心にGitLabのField CTOとしてユーザーのさまざまな課題に向き合っており、ユーザーの事情を肌感覚で知っているため、説得力があります。</p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1751616947/dsnsqvj2zjxyaronfcnu.jpg" alt="DevOpsDive2025で話すAndrew Haschka"></p>
<p><em>GitLab Field CTO, Asia Pacific &amp; Japan, Andrew Haschka</em></p>
<p>ソフトウェア開発ライフサイクル（SDLC）においてAIを使用中の企業は、米国の34%に対して日本は48%。これは世界的に見ても高い数値です。ただし、Haschkaは「数字だけを見ると良い傾向なのですが、日本のAI活用はAIコーディングの部分にとどまっています」と釘を刺します。「残念ながら、ソフトウェア開発のライフサイクル全体を通したAI活用には至っていません」。</p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1751617775/su4hqxb8krrxfcktyh6d.png" alt="AI導入予定"></p>
<p><em>SDLCで現在AIを使用している、または今後の導入を計画している割合</em></p>
<p>AIは、確かにコーディングをスピードアップしてくれます。一方で、セキュリティがないがしろにされてしまうリスクには注意が必要です。Haschkaは、あるインドネシアのGitLabユーザーを例に挙げました。その企業は、AIコーディングによって、開発スピードが大幅に向上し、同じ時間で完成するコード量が飛躍的に増えました。その結果、何が起きたのでしょう。コード量と同時にリスク要素が増えてしまい、脆弱性チェックに大変な手間がかかるようになってしまったのです。</p>
<p>Haschkaは、「ただ、このケースはまだ良い方です。コードをきちんとチェックできているわけですから。“コンプライアンス・ガードレール”が正しく機能していることが証明されたと言えます」と話します。大きな問題は、SDLCに正しくガードレールを設置できておらず、コーディングのスピードアップにより、セキュリティがないがしろにされても、それに気づかない状態のまま放置されることで発生します。</p>
<p>そうした事態に陥ることを防ぎ、セキュリティを担保しながらAIをソフトウェア開発に役立てるために、HaschkaはSDLCを通した3つの視点を持つ必要があるとします。まずは、<strong>SDLCを透過的に管理できる統合されたプラットフォームを持つ</strong>こと。GitLabのように統合的なプラットフォームでSDLC全体へのガバナンスを効かせることが必要で、ポイントソリューションの組み合わせで運用することは難しいのです。</p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1751616947/dow9hyavtyf7vooswmgw.jpg" alt="DevOpsDive2025で話すAndrew Haschka"></p>
<p><em>GitLab Field CTO, Asia Pacific &amp; Japan, Andrew Haschka</em></p>
<p>次に、<strong>SDLCに動的なセキュリティ対策を行き渡らせる</strong>こと。対策における最大のテーマは脆弱性管理と依存性管理です。ライブラリやコンポーネントの依存性を可視化・管理し、セキュリティとライセンスについての承認プロセスを必要なポイントで埋め込みます。スキャンの強制実行も大切な要素で、この部分は自動化できるケースもあり、開発生産性を損なわずにセキュリティを担保することを期待できます。これらは、GitLabをSDLCのプラットフォームとして使っていれば、必要なプロセスに埋め込み、優れたガードレールとして機能させることができます。</p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1751617775/qdyujjzp99voh7h9qf6h.png" alt="GitLab Duoの利用形態"></p>
<p><em>GitLab Duoの利用形態</em></p>
<p>最後に、<strong>必要に応じてローカルLLMを活用する</strong>こと。ローカルLLMは、クラウドを通さずローカル環境で動作するLLMで、データプライバシーを保護できることが特長。ローカルで稼働するため、機密情報を安全に扱うことができます。GitLab Duo Self Hosted Modelsを使うことで、ローカルLLMをGitLabと連携して運用することが可能になります。</p>
<p>これら3つの視点を持ち、SDLCを安全に運用するひとつのやり方として、Haschkaはプラットフォーム・エンジニアリング（PE）チームが主導的な立場を担うケースがあると指摘しています。</p>
<h2>PEチームと開発部門が密な連携を取り、GitLabでSDLCを改革</h2>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1751616948/soab0npkbzsac2bofvrc.jpg" alt="Olympus株式会社柳田修太氏"></p>
<p><em>オリンパス株式会社 R&amp;Dセンターオブソフトウェアエクセレンス, グローバル ソフトウェア開発インフラストラクチャ シニアディレクター 柳田 修太氏</em></p>
<p>続いては、オリンパス株式会社の事例講演です。同社は、内視鏡を主力に医療デバイスをワールドワイドに提供するメーカーです。そして、優れたPEチームがSDLCの改革で大きな役割を果たした企業の1つでもあります。同社のPEへの取り組みは、グローバルに展開されるソフトウェア開発の効率化、およびコスト適正化を図るためにスタートしました。</p>
<p>スクリーンを背後に演壇に立った柳田 修太氏は、「弊社の開発サイクルは5から10年と長いものが多いことが特徴です。そのため、プロジェクト開始時のインフラが最新でなくなるケースが多いのです」と話します。「医療機器に組み込まれるソフトウェアの開発ですから、ソフトウェアを使う前のバリデーションが不可欠になります。クラウド化されていて特定のタイミングで強制的にバージョンアップされてしまうツールは、どれだけすばらしいものであっても、弊社の開発で使用することは困難です」。</p>
<p>SDLCをよりセキュアにするためには、何らかのプラットフォームは必要になります。要件は、全世界でサポートしてくれるプラットフォームであること。そして、各国で異なる法規制に対応できること。さらに、自社のさまざまな開発要件への適用が可能であること。たとえば、アジャイル開発、仮想化、コンテナへの対応は当然のこと。特殊なニーズのある組み込みソフトウェアの開発プロセスにも対応できなければなりません。</p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1751616952/cck02oslxsqyz0a7fppf.jpg" alt="Olympus株式会社柳田修太氏"></p>
<p><em>オリンパス株式会社 R&amp;Dセンターオブソフトウェアエクセレンス, グローバル ソフトウェア開発インフラストラクチャ シニアディレクター 柳田 修太氏</em></p>
<p>こうしてGitLabを選定したのですが、当初は抵抗もあったといいます。人命にかかわる医療機器の開発プロセスの改革ですから、万全を期する必要があるためです。それでも深い議論を重ね、開発部門と密な連携を取ったことで、少しずつGitLabを試してもらえるようになりました。そうして実際に成果を体験してもらったことで、開発者側からもGitLabを使いたいという声が上がってきます。</p>
<p>柳田氏は、「ビルドのスピードアップが大きなポイントで、並行して複数のビルドを走らせられるため、開発生産性が高まりました。統合ツールとしてインフラ管理が楽なことも、開発現場に受け入れられた理由の大きなところでしょう。開発部門との関係性も高めることができ、いまでは新規プロジェクトを中心にユーザーがどんどん増えています」と話します。</p>
<p>GitLabの浸透に伴ってアジャイルな開発スタイルでの活用も進み、開発スピードはさらに向上しました。GitLabでSDLCを包括的に管理できたことで運用コストを低減し、GitLab Runner（CI/CDのジョブ実行主体）を活用することでコンテナ環境における開発も大幅に効率化しています。こうしてHaschkaの指摘した3つの視点のうち、1と2は着実にオリンパスに定着しつつあります。</p>
<p>今後取り組むのは、3のセキュアなAI活用です。現状は、オリンパスの開発者が作ったコードをAIの学習に使わないと明記したMoUをGitLabと締結した段階。社内でリスクアセスメントを実施し、本格運用に向けた試験運用を続けています。</p>
<h2>「AIコーディングだけをとってもローカルLLMの価値は大きい」</h2>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1751616948/k2rn3su6d1ollmyx4n05.jpg" alt="株式会社NTTデータグループ加藤耕也氏"></p>
<p><br>
<em>株式会社NTTデータグループ 技術革新統括本部 AI技術部 部長 加藤耕也氏</em></p>
<p><br>
続いては、NTT DATAの講演です。NTT DATAは、生成AI活用コンセプト「SmartAgent™」を発表するなど、ローカルLLMビジネスを積極的に展開しています。グローバルで1000件超の受注実績があり、SDLCの生産性向上目標としてFY25で50%、FY27には70%を掲げています。</p>
<p>同社は社内でも生成AIをソフトウェア開発分野へ適用し、開発業務の効率化を目指しています。現在は、タスクの自動化を進めている段階。これは支援型AIと定義される分野ですが、次なるターゲットはいわゆる自律型AIへの進化です。自律型AIが実用段階に入れば、労働集約型産業はAI駆動型へと進化することが期待されています。NTT DATAは市場に先駆けて自律型AIの本格運用を進めることで、今年から2027年にかけてプロセスの自動化へと発展させ、さらに将来は開発業務のより広範な領域をまたいだ業務の自動化も実現させたい考えです。</p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1751616948/yjgdcm3cgysc62vaouln.jpg" alt="株式会社NTTデータグループ市原大暉氏"></p>
<p><br>
<em>株式会社NTTデータグループ 技術革新統括本部 AI技術部 市原大暉氏</em></p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1751617776/xj4xv49xvtakt4lwqzae.png" alt="AI活用におけるオンプレの重要性">
<em>生成AI活用におけるプライベートクラウド・オンプレミスの重要性</em></p>
<p>AIの利用範囲が拡大することに伴い、よりセキュアなAIが求められるようになります。そのためにローカルLLMの注目が高まっているわけですが、上の表に示したように、ローカルLLMにはメリットもデメリットもあります。それでも機密情報を扱うためには閉域網での開発が必須です。また、NTT DATAでは、顧客に対して独自に実施したヒアリングの結果、AIを独自にチューニングしてオリジナルな学習の方向性を定めたいというニーズが今後増えてくると見ています。これは、公共分野をはじめ、金融、製造、観光などさまざまな業種に共通するニーズです。講演した加藤 耕也氏は、「実は、AIコーディングだけをとってもローカルLLMの価値は大きいのです。そのプロセスにも強力なガバナンスを効かせられるようになりますから」と話します。同社では、すでに社内で約3,000ユーザーがローカルLLMを使って開発プロジェクトを進めています。</p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1751617777/b0deb8vbv61osovquall.png" alt="GitLab Duoを用いた検証結果"></p>
<p><em>GitLab Duoを用いた検証結果</em></p>
<p>そしてこの日、GitLab Duoを用いたローカルLLM AIコーディング環境の検証結果を明らかにしてくれました。この検証では、機能面・非機能面での実用性を73項目で精査し、十分な精度を得られたことが報告されています。</p>
<h2>「ローカルLLMは究極の安全性をもたらす」</h2>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1751616953/nf6jwyqj4l9xhxbsf2nb.jpg" alt="GitLab合同会社 ソリューションアーキテクト本部 シニアソリューションアーキテクト 佐々木直晴"></p>
<p><em>GitLab合同会社 ソリューションアーキテクト本部 シニアソリューションアーキテクト 佐々木直晴</em></p>
<p>最後のセッションに登壇したのは、GitLabの佐々木 直晴。この日のすべてのセッションを振り返りながら、さまざまなポイントの背景や詳細について語りました。中でも印象深かったのは、AIがコーディングすることでセキュリティレベルが低下する背景についてです。</p>
<p>佐々木は、CSETが昨年公開した資料を示し、AIは人間が書いた脆弱性を含むコードを学習データとするためそれを模倣してしまう可能性があると警告しました。「AIは、 “機能的に正しく動くコードを素早く出力”しようとします。そのとき、セキュリティの観点で重要な構成要素を無視してしまうことがあるようです。たとえば、例外処理や入力チェックなどはコードに入っていなくても機能的には正しく動くため、AIの提案からは抜け漏れやすいということが考えられます」。ローカルLLMについては、「自社の強みが流出するリスクを抑え、究極的な安全性をもたらす存在」とし、実際に多くの企業がそこを目指すだろうと展望しています。</p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1751616954/nswoq6ryvcrdph9waaam.jpg" alt="GitLab合同会社 ソリューションアーキテクト本部 シニアソリューションアーキテクト 佐々木直晴"></p>
<p><em>GitLab合同会社 ソリューションアーキテクト本部 シニアソリューションアーキテクト 佐々木直晴</em></p>
<p>佐々木は、Haschka の3つの視点を目指すにあたり、GitLabはユーザーのAI利用時にもプライバシーや知的財産権を保護しながらSDLC全体をAIでサポートできるプラットフォームであり続けるとも述べ、AIに取り組むなら安心してGitLabを採用してほしいと会場に呼びかけました。</p>
<p><em>*SmartAgentは日本国内における株式会社NTTデータグループの商標です。</em></p>
]]></content>
        <author>
            <name>GitLab Japan Team</name>
            <uri>https://about.gitlab.com/blog/authors/gitlab-japan team</uri>
        </author>
        <published>2025-07-10T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[GitLabで自律型AIをGoogle Cloudに安全・高速デプロイ]]></title>
        <id>https://about.gitlab.com/ja-jp/blog/fast-and-secure-ai-agent-deployment-to-google-cloud-with-gitlab/</id>
        <link href="https://about.gitlab.com/ja-jp/blog/fast-and-secure-ai-agent-deployment-to-google-cloud-with-gitlab/"/>
        <updated>2025-07-07T00:00:00.000Z</updated>
        <content type="html"><![CDATA[<p><a href="https://about.gitlab.com/ja-jp/topics/agentic-ai/">自律型AI</a>の登場により、インテリジェントなアプリケーションの構築方法は大きく変わりつつありますが、
AIエージェントを安全かつ効率的にデプロイするのは簡単ではありません。
このチュートリアルでは、
GoogleのAgent Development Kit（<a href="https://cloud.google.com/vertex-ai/generative-ai/docs/agent-development-kit/quickstart">ADK</a>）で構築したAIエージェントを、
<a href="https://cloud.google.com/blog/topics/partners/understand-the-google-cloud-gitlab-integration">GitLabのネイティブインテグレーション</a>と<a href="https://docs.gitlab.com/ci/components/">CI/CDコンポーネント</a>を使って
Cloud Runにデプロイする方法を
学びます。</p>
<h2>AIエージェントの基礎知識と注目される理由</h2>
<p>自律型AIは、人工知能の分野における大きな進化と言えるでしょう。従来の生成AIツールが常に人間からの指示を必要とするのに対し、AIエージェントは高度な言語モデルや自然言語処理を活用して、自律的に行動を起こします。自律型AIはリクエストを理解し、意思決定を行い、複数のステップからなる計画を実行して、目標を自ら達成できます。</p>
<p>このチュートリアルでは、GoogleのADKを使用します。ADKは、AIエージェントの開発とデプロイに対応した、柔軟でモジュール化されたフレームワークです。GeminiやGoogleのエコシステム向けに最適化されていますが、モデルやデプロイ方法に依存せず、他のフレームワークとの互換性も考慮して設計されています。</p>
<h2>デモアプリの紹介：Canada City Advisor</h2>
<p>デプロイプロセスを実演するための実用的な例として「Canada City Advisor」を使います。ユーザーの希望や条件に基づいて、理想的なカナダの都市を提案するAIエージェントです。</p>
<p>その仕組みは以下の通りです。</p>
<ul>
<li>
<p>ユーザーが予算条件やライフスタイルの希望を入力します。</p>
</li>
<li>
<p>ルートエージェントが以下2つのサブエージェントを統括します。</p>
<ul>
<li>経済的な制約を評価する予算分析エージェント。カナダ住宅金融公社から取得したデータを使用します。</li>
<li>ユーザーの希望に合う都市を提案するライフスタイル分析エージェント。<a href="https://open-meteo.com/">Open-Meteo</a>から取得した適切な都市情報に基づく天気情報サービスも提供します。</li>
</ul>
</li>
<li>
<p>システムがユーザーに合った都市の候補を生成します。</p>
</li>
</ul>
<p>異なる専門性を持つAIエージェントが連動して複雑な問題を解決するこのマルチエージェント構成により、自律型AIの強みが活かされます。サブエージェントは、ルートエージェントが予算やライフスタイルの分析が必要と判断したときにのみ呼び出されます。</p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1751576568/obgxpxvlnxtzifddrrz1.png" alt="自律型AIを活用したデモアプリ開発のマルチエージェント構成"></p>
<h2>前提条件</h2>
<p>始める前に、以下のものが準備できていることを確認してください。</p>
<ul>
<li>
<p>以下のAPIが有効になっているGoogle Cloudプロジェクト</p>
<ul>
<li>Cloud Run API</li>
<li>Artifact Registry API</li>
<li>Vertex AI API</li>
</ul>
</li>
<li>
<p>ソースコード用のGitLabプロジェクト</p>
</li>
<li>
<p>GitLabとGoogle Cloudの両方に対する適切な権限</p>
</li>
</ul>
<p><strong>ステップ1：ワークロードアイデンティティフェデレーションによるIAMインテグレーションを設定する</strong></p>
<p>最初のステップでは、<a href="https://cloud.google.com/iam/docs/workload-identity-federation">Workload Identity連携</a>を使用して、GitLabとGoogle Cloudの間で安全なキーレス認証を確立します。これにより、サービスアカウントキーが不要となり、セキュリティが向上します。</p>
<p>GitLabプロジェクトでの手順は以下のとおりです。</p>
<ol>
<li>
<p><strong>設定 &gt; インテグレーション &gt; Google Cloud IAM</strong>の順に移動します。</p>
</li>
<li>
<p>以下の情報を入力します。</p>
<ul>
<li><strong>プロジェクトID</strong>：使用しているGoogle CloudプロジェクトのID</li>
<li><strong>プロジェクト番号</strong>：Google Cloudコンソールで確認できるプロジェクト番号
Workload Identityプールの固有識別子</li>
<li><strong>プロバイダーID</strong>：アイデンティティプロバイダーの固有識別子</li>
</ul>
</li>
</ol>
<p>GitLabがスクリプトを生成します。このスクリプトをコピーして、Google Cloud Shellで実行し、Workload Identity連携を作成します。</p>
<p><strong>ステップ2：Google Artifact Registryのインテグレーションを設定する</strong></p>
<p>次に、コンテナイメージを保存するGoogle Artifact Registryとの接続を設定します。</p>
<ol>
<li>
<p>GitLabで、<strong>設定 &gt; インテグレーション &gt; Google Artifact Registry</strong>の順に移動します。</p>
</li>
<li>
<p>以下の情報を入力します。</p>
<ul>
<li><strong>Google CloudプロジェクトID</strong>：ステップ1と同じプロジェクトID</li>
<li><strong>リポジトリ名</strong>：既存のArtifact Registryリポジトリの名前</li>
<li><strong>場所</strong>：リポジトリが存在するリージョン</li>
</ul>
</li>
</ol>
<p><strong>重要</strong>：リポジトリはすでにArtifact Registryに存在している必要があります。この設定操作では、GitLabが新しいリポジトリを自動で作成することはありません。</p>
<p>GitLabは、必要な権限を設定するためのコマンドを生成します。これをGoogle Cloud Shellで実行します。</p>
<p>さらに、Cloud Runへのデプロイのために、サービスプリンシパルに以下のロールを追加します。</p>
<ul>
<li><code>roles/run.admin</code></li>
<li><code>roles/iam.serviceAccountUser</code></li>
<li><code>roles/cloudbuild.builds.editor</code></li>
</ul>
<p>以下のgcloudコマンドを使用して、これらのロールを追加できます。</p>
<pre><code class="language-shell">GCP_PROJECT_ID=&quot;&lt;your-project-id&gt;&quot; #replace

GCP_PROJECT_NUMBER=&quot;&lt;your-project-number&gt;&quot; #replace

GCP_WORKLOAD_IDENTITY_POOL=&quot;&lt;your-pool-id&gt;&quot; #replace


gcloud projects add-iam-policy-binding ${GCP_PROJECT_ID} \
  --member=&quot;principalSet://iam.googleapis.com/projects/${GCP_PROJECT_NUMBER}/locations/global/workloadIdentityPools/${GCP_WORKLOAD_IDENTITY_POOL}/attribute.developer_access/true&quot; \
  --role='roles/run.admin'

gcloud projects add-iam-policy-binding ${GCP_PROJECT_ID} \
  --member=&quot;principalSet://iam.googleapis.com/projects/${GCP_PROJECT_NUMBER}/locations/global/workloadIdentityPools/${GCP_WORKLOAD_IDENTITY_POOL}/attribute.developer_access/true&quot; \
  --role='roles/iam.serviceAccountUser'

gcloud projects add-iam-policy-binding ${GCP_PROJECT_ID} \
  --member=&quot;principalSet://iam.googleapis.com/projects/${GCP_PROJECT_NUMBER}/locations/global/workloadIdentityPools/${GCP_WORKLOAD_IDENTITY_POOL}/attribute.developer_access/true&quot; \
  --role='roles/cloudbuild.builds.editor'
</code></pre>
<p><strong>ステップ3：CI/CDパイプラインを作成する</strong></p>
<p>ここからが本番です。デプロイ用のパイプラインを構築しましょう！GitLabのCI/CDコンポーネントを使用すると、非常に簡単に作成できます。</p>
<p>プロジェクトのルートに <code>.gitlab-ci.yml</code> ファイルを作成します。</p>
<pre><code class="language-unset">stages:
  - build
  - test
  - upload
  - deploy

variables:
  GITLAB_IMAGE: $CI_REGISTRY_IMAGE/main:$CI_COMMIT_SHORT_SHA
  AR_IMAGE: $GOOGLE_ARTIFACT_REGISTRY_REPOSITORY_LOCATION-docker.pkg.dev/$GOOGLE_ARTIFACT_REGISTRY_PROJECT_ID/$GOOGLE_ARTIFACT_REGISTRY_REPOSITORY_NAME/main:$CI_COMMIT_SHORT_SHA

build:
  image: docker:24.0.5
  stage: build
  services:
    - docker:24.0.5-dind
  before_script:
    - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
  script:
    - docker build -t $GITLAB_IMAGE .
    - docker push $GITLAB_IMAGE

include:
  - template: Jobs/Dependency-Scanning.gitlab-ci.yml  # https://gitlab.com/gitlab-org/gitlab/blob/master/lib/gitlab/ci/templates/Jobs/Dependency-Scanning.gitlab-ci.yml
  - template: Jobs/SAST.gitlab-ci.yml  # https://gitlab.com/gitlab-org/gitlab/blob/master/lib/gitlab/ci/templates/Jobs/SAST.gitlab-ci.yml
  - template: Jobs/Secret-Detection.gitlab-ci.yml  # https://gitlab.com/gitlab-org/gitlab/blob/master/lib/gitlab/ci/templates/Jobs/Secret-Detection.gitlab-ci.yml
  - component: gitlab.com/google-gitlab-components/artifact-registry/upload-artifact-registry@main
    inputs:
      stage: upload
      source: $GITLAB_IMAGE
      target: $AR_IMAGE
  - component: gitlab.com/google-gitlab-components/cloud-run/deploy-cloud-run@main
    inputs:
      stage: deploy
      project_id: &quot;&lt;your-project-id&gt;&quot; #replace
      service: &quot;canadian-city&quot;
      region: &quot;us-central1&quot;
      image: $AR_IMAGE
</code></pre>
<p>このパイプラインは、以下の4つのステージで構成されています。</p>
<ol>
<li><strong>Build</strong>：AIエージェントを使用してDockerコンテナを作成します</li>
<li><strong>Test</strong>：セキュリティスキャン（コンテナスキャン、依存関係スキャン、SAST）を実行します</li>
<li><strong>Upload</strong>：コンテナをArtifact Registryにプッシュします</li>
<li><strong>Deploy</strong>：Cloud Runにデプロイします</li>
</ol>
<p><a href="https://docs.gitlab.com/ci/components/">GitLabのCI/CDコンポーネント</a>を使う大きなメリットは、いくつかのパラメーターを指定するだけで、認証やデプロイの複雑な処理をすべてコンポーネント側が自動で行ってくれる点です。</p>
<p><strong>ステップ4：デプロイとテスト</strong></p>
<p>すべての設定が完了したら、いよいよデプロイの実行です。</p>
<ol>
<li>コードと <code>.gitlab-ci.yml</code> をGitLabリポジトリにコミットします。</li>
<li>パイプラインは自動的に実行されます。</li>
<li>GitLabのCI/CDインターフェースでパイプラインの進行状況を確認します。</li>
<li>完了後、Google CloudコンソールでCloud RunのURLを確認できます。</li>
</ol>
<p>各ステージが順番に実行される様子を確認できます。</p>
<ul>
<li>Buildステージでコンテナが作成されます。</li>
<li>Testステージで包括的なセキュリティスキャンが実行されます。</li>
<li>UploadステージでArtifact Registryにプッシュされます。</li>
<li>DeployステージでCloud Runのサービスが作成または更新されます。</li>
</ul>
<h2>セキュリティ上のメリット</h2>
<p>この手法には、以下のようなセキュリティ上の利点があります。</p>
<ul>
<li><strong>長期間有効な認証情報が不要</strong>：Workload identity連携により、サービスアカウントキーが不要になります。</li>
<li><strong>自動セキュリティスキャン</strong>：すべてのデプロイで脆弱性がスキャンされます。</li>
<li><strong>監査証跡</strong>：誰が何をいつデプロイしたのかを完全に可視化します。</li>
<li><strong>最小権限の原則</strong>：きめ細かなIAMロールによりアクセスが制限されます。</li>
</ul>
<h2>まとめ</h2>
<p>GitLabのセキュリティ機能とGoogle Cloudの強力なAIおよびサーバーレスプラットフォームを組み合わせることで、安全でスケーラブルなAIエージェントをデプロイできます。GitLabとGoogle Cloudのインテグレーションによって、従来こうしたデプロイに伴っていた複雑さの多くが解消されます。</p>
<blockquote>
<p>このチュートリアルの<a href="https://gitlab.com/gitlab-partners-public/google-cloud/demos/ai-agent-deployment">サンプルコード
全文</a>を使えば、
すぐに始められます。GitLabをまだご利用でない場合は、ぜひ<a href="https://about.gitlab.com/ja-jp/free-trial/?hosted=saas">無料トライアル</a>でDevSecOpsプラットフォームをご体験ください。</p>
</blockquote>
<p><em>監修：小松原 つかさ <a href="https://gitlab.com/tkomatsubara">@tkomatsubara</a></em></p>
<p><em>（GitLab合同会社 ソリューションアーキテクト本部 シニアパートナーソリューションアーキテクト）</em></p>
]]></content>
        <author>
            <name>Regnard Raquedan</name>
            <uri>https://about.gitlab.com/blog/authors/regnard-raquedan</uri>
        </author>
        <published>2025-07-07T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[GitLab Duoエージェントプラットフォーム]]></title>
        <id>https://about.gitlab.com/ja-jp/blog/gitlab-duo-agent-platform-what-is-next-for-intelligent-devsecops/</id>
        <link href="https://about.gitlab.com/ja-jp/blog/gitlab-duo-agent-platform-what-is-next-for-intelligent-devsecops/"/>
        <updated>2025-06-24T00:00:00.000Z</updated>
        <content type="html"><![CDATA[<p>GitLab Duo Workflowの進化版である「GitLab Duoエージェントプラットフォーム」をご紹介します。この革新的なプラットフォームを導入すると、ソフトウェア開発ライフサイクル全体をとおして自律型機能を利用できます。これにより、チームは複数のAIエージェントと並行して作業を進められます。</p>
<p>出社後の流れが次のように変わることを想像してみてください。</p>
<ul>
<li>チームが取り組んでいるエピックに関する詳細な調査、過去1週間のすべてのコントリビュートに関する最新情報の収集、最近追加された機能に基づくリリース記事の提案、これらすべてのタスクを1体のAIエージェントに割り当てます。</li>
<li>同時に、別の複数のAIエージェントにいくつかのアクセシビリティバグの分析、およびそれらの修正に必要なコード変更を依頼します。</li>
<li>さらに並行して、自分が加えた複雑なコード変更をチームメンバーに送信して正式なレビューを受ける前に、別のAIエージェントにレビュー・フィードバックを依頼します。</li>
<li>最後に、プロジェクト全体での調査が必要な新たな脆弱性についてセキュリティチームから通知があった場合は、セキュリティエージェントにその調査タスクを割り当てます。</li>
</ul>
<p>これらのタスクはすべて同時に実行されます。その間、アーキテクチャに関する決定や、独創的な問題解決、戦略的な技術作業に専念できます。エージェントプラットフォームでは、5体、10体、さらには100体もの専門的なAIエージェントにタスクを委任できます。これらのAIエージェントはコードだけでなく、CIジョブログや計画作業アイテムなど、プロジェクトの全コンテキストに基づいてタスクを実行します。これまでやらざるを得なかった面倒な作業を自動化することで、やりがいのある作業に専念できるようになります。</p>
<p><strong>このアプローチの目的は、デベロッパーを置き換えることではなく、日常的なタスクにより生じる業務の非効率性を解消し、人間の創造性と専門知識を活かせるようにすることです。</strong> これこそが、GitLabがエージェントプラットフォームがもたらす未来です。</p>
<h2>GitLab Duoエージェントプラットフォームとは？</h2>
<p>エージェントプラットフォームは、チームの生産性とサイクルタイムの大幅な改善を支援するよう設計されており、ソフトウェア開発ライフサイクル全体にわたるエンジニアと<a href="https://about.gitlab.com/ja-jp/topics/agentic-ai/">AIエージェント</a>の多対多のコラボレーションを実現します。</p>
<p>GitLabのセキュアな基盤上に構築されたエージェントプラットフォームは、カスタマイズおよび拡張が可能です。デベロッパーはエージェントプラットフォームを使用することで、ソフトウェア開発ライフサイクル全体のコンテキストを活用してソフトウェアエンジニアリングに関するあらゆる種類の問題に取り組むAIエージェントを構築できます。</p>
<p>専門的なAIエージェントとカスタムワークフローを備えたエージェントプラットフォームは、コード作成だけでなく、以下を含むほぼすべての作業をお手伝いできます。</p>
<ul>
<li>イシューの実装</li>
<li>大規模な移行や依存関係の更新</li>
<li>ドキュメントやリリース記事の自動作成</li>
<li>破損したパイプラインの修復</li>
<li>インシデント調査のサポート</li>
<li>トピックに関するステータスや情報の詳しい調査</li>
<li>バックログ管理</li>
<li>脆弱性の修正</li>
<li>特定のタイプのコード（データベースなど）のレビュー</li>
<li>既存のモジュールをベースとした社内ツールの迅速な構築</li>
<li>その他多数</li>
</ul>
<p>すぐに利用できるAIエージェントがあらかじめ用意されており、それらをカスタマイズまたは拡張することも可能です。現在、数十社のお客様の協力のもと、エージェントプラットフォームのベータテストを実施しています。ベータ版は、近日中にさらに多くの方々に公開される予定です。</p>
<p>以下の動画では、エージェントプラットフォームを実際に使用する様子をご覧いただけます。
&lt;div style=&quot;padding:56.25% 0 0 0;position:relative;&quot;&gt;&lt;iframe src=&quot;https://player.vimeo.com/video/1095679084?badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479&quot; frameborder=&quot;0&quot; allow=&quot;autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media; web-share&quot; style=&quot;position:absolute;top:0;left:0;width:100%;height:100%;&quot; title=&quot;Agent Platform Demo Clip&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;script src=&quot;https://player.vimeo.com/api/player.js&quot;&gt;&lt;/script&gt;</p>
<h2>ツールも、モデルも、エージェントも、自分で選べる</h2>
<p>GitLabエージェントは、標準的なModel Context Protocol（MCP）とAgent2Agent（A2A）フレームワークを通じて、お好みのコード作成開発ツール（Cursor、Claude Code、Windsurf、OpenAI Codexなど）とシームレスに相互運用できます。これは、GitLabをオープンプラットフォームとして提供するという方針を反映しています。</p>
<p>エージェントプラットフォームは、技術スタック内のどの開発ツールからのコードのコントリビュートも受け入れます。それがデベロッパーによって記述されたものであれ、AIエージェントが生成したものであれ、関係ありません。つまり、エージェント機能を統合しても、これまで使い慣れたワークフローやツールは引き続きシームレスに動作します。</p>
<p>エージェントプラットフォームは、<a href="https://about.gitlab.com/ja-jp/ai-transparency-center/#ai-continuity-plan">GitLabの選定基準を満たす</a>承認済みの言語モデルであれば、どれでも利用できます。セキュリティ要件が厳しい組織向けに、完全にインターネットに接続されていない（エアギャップ）環境における承認済みのセルフホストモデルの実行もサポートしています。そのため、インフラ要件やセキュリティポリシーによって、自律型開発の実施を制限されることはありません。</p>
<h2>コンテキストを把握して動く、GitLab Duoエージェント</h2>
<p>単に便利なAIツールと本当にインテリジェントなAIエージェントの違いは、コンテキストを理解しているかどうかにあります。エージェントプラットフォームでは、AIエージェントは単独で動作しません。実際に開発作業が行われるプラットフォームに深く統合されています。</p>
<p>すべてのAIエージェントは、未解決のイシューとその履歴、イシューを解決したマージリクエスト、コードの構造と背後にある理論的根拠、CI/CDパイプラインの設定、セキュリティ検出、コンプライアンス要件、そしてこれらすべてのコンポーネントの複雑な関係など、プロジェクトの全体像を自動的に把握します。</p>
<p>AIエージェントもエンジニアと同様、安全なソフトウェアをよりスピーディーにリリースするために役立つコンテキストをすべて把握しています。AIエージェントは、コードに関する質問に答えるだけでなく、提案された変更がデプロイパイプラインにどのような影響を及ぼすかといったインサイトを提供したり、現行のコンプライアンス規則に基づいてセキュリティの改善を提案したりできます。GitLabのDevSecOpsプラットフォームで作業すればするほど、AIエージェントはより賢くなります。</p>
<h2>エージェントがチームをスケールする際も、コントロールを維持</h2>
<p>AIエージェントとの信頼関係の構築は、新しいチームメンバーとの信頼を築くことと本質的には変わりません。AIエージェントの仕事を見ながらアプローチを理解し、実際の遂行能力に応じて徐々にまかせる作業を増やしていく必要があります。</p>
<p>これこそが、当社のエージェント承認ワークフローの根底にある考え方です。AIエージェントは、コードや環境に変更を加える前に、イシューについて把握している内容、採用するアプローチ、実行しようとしている具体的なアクションなど、明確な計画を提示します。必要に応じて再検討もしくは承認するか、指示を出し直すことができます。時間が経つにつれ、AIエージェントが一貫して質の高い作業を行えるようになるため、複雑な作業や重要な業務は引き続き監視しつつ、日常的なタスクについてはAIエージェントにより大きな自律性を与えられるようになります。</p>
<h2>コミュニティとカスタマイズ性のために構築されたプラットフォーム</h2>
<p>GitLabは常にコミュニティのみなさまからのコントリビュートによって成長してきました。今年はお客様からのコントリビュートが過去最多を記録し、大きな節目の年となりました。オープンフレームワークアプローチを通じて、こうしたコラボレーションの輪にAIエージェントも加われるようになりました。</p>
<p>エージェントプラットフォームでは、GitLabが構築したAIエージェントを利用できるだけでなく、コミュニティ一人ひとりが、それぞれ固有のエンジニアリング上の課題を解決するために専用エージェントを作成できます。エージェントプラットフォームは、特定のコーディング標準の理解、カスタムツールチェーンとの統合、ドメイン固有のタスクの処理など、任せたい作業に応じた専用エージェントを構築するためのビルディングブロックを提供します。</p>
<p>このコミュニティ主導のモデルは、<a href="https://about.gitlab.com/blog/ci-cd-catalog-goes-ga-no-more-building-pipelines-from-scratch/">CI/CDカタログ</a>と同様、グローバルな連携を通じてGitLabコミュニティの力が発揮される好循環を生み出します。さまざまな実際のユースケースがイノベーションが促進し、企業からのフィードバックが信頼性とセキュリティを保証します。そして、共有されたソリューションはコミュニティ全体に利益をもたらします。GitLabを成功に導いてきたこの協調的なアプローチが、いま、自律型開発という領域にも適用されようとしています。</p>
<h2>開始するには</h2>
<p>GitLab 18のPremiumおよびUltimateのGitLab.comユーザーライセンスで利用可能になった<a href="https://about.gitlab.com/ja-jp/blog/gitlab-duo-chat-gets-agentic-ai-makeover/">GitLab Duo Agentic Chat</a>を試された方は、AIエージェントを開発ワークフローに組み込むことで何が実現できるのか、その可能性をすでに実感されていることでしょう。</p>
<p>エージェントプラットフォームの機能や、GitLabが現在取り組んでいる内容については、<a href="https://about.gitlab.com/ja-jp/eighteen/">GitLab 18のリリースイベントの録画ウェブキャストのデモ</a>をご覧ください。</p>
<p>エージェントプラットフォームをいち早く使ってみたい方は、<a href="https://about.gitlab.com/gitlab-duo/agent-platform/">エージェントプラットフォームのベータ版のウェイトリスト</a>にご登録ください。今年の夏には、さらに多くのチームにご利用いただけるようになる予定です。また、年内に予定されているGitLab 18のリリースを通じて、新たなエージェント機能も順次提供されます。一般公開は、今年の冬を予定しています。</p>
<p><em>免責事項：この発表には、今後の製品、機能、および機能性に関する情報が含まれています。本発表に含まれる情報は、情報提供のみを目的としている点にご留意ください。購入や計画の際に、この情報のみに依拠することはお控えください。すべてのプロジェクトと同様に、このプレゼンテーションおよびリンク先のページに記載されている項目は、変更または遅れる可能性があります。製品、機能および機能性の開発、リリース、タイミングは、GitLab Inc.の独自の裁量に委ねられます。</em></p>
<h2>詳細はこちら</h2>
<ul>
<li><a href="https://about.gitlab.com/the-source/ai/from-vibe-coding-to-agentic-ai-a-roadmap-for-technical-leaders/">バイブコーディングから自律型AIへ：技術リーダー向けのロードマップ</a></li>
<li><a href="https://about.gitlab.com/ja-jp/topics/agentic-ai/">自律型AIとは</a></li>
<li><a href="https://about.gitlab.com/topics/agentic-ai/devops-automation-ai-agents/">DevOpsの自動化とAIエージェント</a></li>
<li><a href="https://about.gitlab.com/topics/agentic-ai/ai-augmented-software-development/">AIにより強化されたソフトウェア開発：DevOps向けの自律型AI</a></li>
<li><a href="https://about.gitlab.com/topics/agentic-ai/ai-code-analysis/">AI主導のコード開発：コードセキュリティの新たな時代</a></li>
</ul>
]]></content>
        <author>
            <name>Bill Staples</name>
            <uri>https://about.gitlab.com/blog/authors/bill-staples</uri>
        </author>
        <published>2025-06-24T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[GitLab 18.1 リリース]]></title>
        <id>https://about.gitlab.com/ja-jp/blog/gitlab-18-01-release/</id>
        <link href="https://about.gitlab.com/ja-jp/blog/gitlab-18-01-release/"/>
        <updated>2025-06-20T00:00:00.000Z</updated>
        <content type="html"><![CDATA[<p>本ブログは、<a href="https://about.gitlab.com/releases/2025/06/19/gitlab-18-1-released/">GitLab 18.1 Release</a>の抄訳です。内容に相違がある場合は、原文が優先されます。</p>
<h2>Maven仮想レジストリ（ベータ版）とGitLab Duoコードレビュー搭載のGitLab 18.1リリース</h2>
<p>このたび、GitLab 18.1のリリースを発表しました。このリリースでは、Maven仮想レジストリ（ベータ版）、GitLab Duoコードレビュー、漏洩パスワードの検出、SLSAレベル1準拠を実現するCI/CDコンポーネントなど、さまざまな機能が追加されました。</p>
<p>これらの機能は、今回のリリースに含まれる110件以上の改善点のほんの一部です。この記事では、お役に立つアップデートをすべてご紹介していますので、ぜひ最後までお読みください。</p>
<p>GitLab 18.1には、GitLabコミュニティのユーザーから311件ものコントリビュートがありました。ありがとうございました！GitLabは<a href="https://about.gitlab.com/community/contribute/">誰もがコントリビュートできる</a>プラットフォームであり、今回のリリースもユーザーのみなさまの協力なしには実現しませんでした。</p>
<p>来月のリリースで予定されている内容を先取りするには、<a href="https://about.gitlab.com/upcoming-releases/">今後のリリースページ</a>をご覧ください。</p>
<p><a href="http://twitter.com/share?text=GitLab+18.1%E3%81%AE%E3%83%AA%E3%83%AA%E3%83%BC%E3%82%B9%E3%81%A7%E3%81%AF%E3%80%81Maven%E4%BB%AE%E6%83%B3%E3%83%AC%E3%82%B8%E3%82%B9%E3%83%88%E3%83%AA%EF%BC%88%E3%83%99%E3%83%BC%E3%82%BF%E7%89%88%EF%BC%89%E3%81%A8GitLab+Duo%E3%82%B3%E3%83%BC%E3%83%89%E3%83%AC%E3%83%93%E3%83%A5%E3%83%BC%E3%81%8C%E8%BF%BD%E5%8A%A0%E3%81%95%E3%82%8C%E3%81%BE%E3%81%97%E3%81%9F%E3%80%82%E3%82%AF%E3%83%AA%E3%83%83%E3%82%AF%E3%81%97%E3%81%A6SNS%E3%81%A7%E5%85%B1%E6%9C%89%E3%81%97%E3%81%BE%E3%81%97%E3%82%87%E3%81%86%EF%BC%81&amp;url=https://about.gitlab.com/ja-jp/blog/gitlab-18-1-release/&amp;hashtags=">GitLab 18.1のリリースでは、Maven仮想レジストリ（ベータ版）とGitLab Duoコードレビューが追加されました。クリックしてSNSで共有しましょう！</a></p>
<h2>今月の<a href="https://contributors.gitlab.com/docs/notable-contributors">注目コントリビューター</a>は<a href="https://gitlab.com/karras"></a><a href="https://gitlab.com/chaitanyason9">Chaitanya Sonwane</a>さんです</h2>
<p>&lt;img src=&quot;https://about.gitlab.com/images/notable-contributor-logo.svg&quot;&gt;</p>
<p>Chaitanya Sonwaneさんは、継続的な認証機能の強化により、GitLabのセキュリティ機能向上に貢献しています。<a href="https://contributors.gitlab.com/users/chaitanyason9?fromDate=2025-01-01&amp;toDate=2025-12-31">2025年に13件のコントリビュートがマージされ</a>、認証情報インベントリのフィルタリング、サービスアカウント管理、作業アイテムの使いやすさが向上しました。以前には<a href="https://about.gitlab.com/releases/2025/04/17/gitlab-17-11-released/#token-statistics-for-service-account-management">GitLab 17.11の主要機能</a>としてサービスアカウントのトークン統計情報をひと目で確認できる機能を手がけ、サービスアカウントの管理を容易にする「一目でわかる」情報を提供しました。Chaitanyaさんは現在、<a href="https://gitlab.com/gitlab-org/gitlab/-/issues/503587">作業アイテムリストのソート設定をコンテキスト固有にする改善</a>に取り組み、GitLabの製品計画におけるユーザーエクスペリエンスをさらに向上させています。</p>
<p>Chaitanyaさんの活躍により、GitLabを利用する組織のセキュリティが強化され、サービスアカウントの使用状況がプロジェクト全体で把握しやすくなりました。現在では、チームが認証情報をより効果的に追跡、ローテーションできるようになったことで、セキュリティの脆弱性につながりかねない、未管理の認証情報のリスクが軽減されています。</p>
<p>「認証情報インベントリとサービスアカウントに対するChaitanyaさんのコントリビュートは、セキュリティ分野において非常に貴重なものです」と<a href="https://gitlab.com/eduardosanz">Eduardo Sanz-Garcia（</a>ソフトウェアサプライチェーンセキュリティステージの認証グループのシニアフロントエンドエンジニア）は語ります。Eduardoは、<a href="https://about.gitlab.com/direction/software_supply_chain_security/authentication/">GitLabの認証チーム</a>による推薦も後押ししました。</p>
<p>さらに彼は「Chaitanyaさんは、トークン統計のコンセプトの実装に貢献してくれました。認証情報インベントリの取り組みにより、認証情報の追跡とモニタリングを強化する、非常に要望の多かった機能が提供されたのです。非常に素晴らしいコントリビュートでした」とも付け加えています。</p>
<p>ChaitanyaさんはTATA AIGのソフトウェアエンジニアです。セキュリティ上の課題に積極的に取り組み、自らのコントリビュートを改善するための継続的なフォローアップを行っています。</p>
<p>この場を借りて、GitLabのセキュリティ基盤やその他の製品にコントリビュートしてくれたChaitanyaさんに感謝します！</p>
<h2>GitLab 18.1リリースの主な改善点</h2>
<h3>Maven仮想レジストリがベータ版で利用可能に</h3>
<blockquote>
<p>SaaS: Premium、Ultimate<br>
Self-Managed: Premium、Ultimate</p>
</blockquote>
<p>Maven仮想レジストリは、GitLabでのMaven依存関係管理を簡素化するものです。Maven仮想レジストリを使用しない場合、Maven Central、プライベートリポジトリ、GitLabパッケージレジストリからの依存関係にアクセスするための設定を個別に行う必要があります。こうしたアプローチでは、リポジトリへの順次クエリによってビルドが遅くなり、セキュリティ監査とコンプライアンスレポート作成が複雑になります。</p>
<p>Maven仮想レジストリは、複数のアップストリームリポジトリを単一のエンドポイントに集約することで、このような問題に対処します。プラットフォームエンジニアは、1つのURLを介してMaven Central、プライベートレジストリ、GitLabパッケージレジストリを設定できます。インテリジェントキャッシュはビルドパフォーマンスを向上させ、GitLabの認証システムと統合されます。これにより、設定オーバーヘッドの削減、ビルドの高速化、セキュリティとコンプライアンス向上を目的として一元管理されたアクセス制御が実現します。</p>
<p>Maven仮想レジストリは現在、GitLab.comとGitLab Self-Managedの両方で、GitLab PremiumおよびUltimateのお客様にベータ版として提供されています。一般公開リリースには、レジストリ設定用のWebベースUI、共有可能なアップストリーム機能、キャッシュ管理のためのライフサイクルポリシー、強化された分析機能などが追加される予定です。現在のベータ版では、トップレベルグループあたり最大20の仮想レジストリ、仮想レジストリあたり最大20のアップストリームまでと制限されており、ベータ期間中の設定はAPIのみで行えます。</p>
<p>企業のお客様を対象としたMaven仮想レジストリベータプログラムを実施しています。最終リリースの品質向上にご協力をお願いいたします。ベータ版にご参加いただくお客様には、機能への早期アクセス、GitLab製品チームとの直接のやり取り、評価期間中の優先サポートを提供します。ベータプログラムに参加するには、<a href="https://gitlab.com/gitlab-org/gitlab/-/issues/498139">イシュー498139</a>でご興味があることをお知らせいただき、ユースケースの詳細を提供してください。また、フィードバックや提案は<a href="https://gitlab.com/gitlab-org/gitlab/-/issues/543045">イシュー543045</a>にお寄せください。</p>
<p><a href="https://docs.gitlab.com/user/packages/virtual_registry/maven/">ドキュメント</a><br>
<a href="https://gitlab.com/groups/gitlab-org/-/epics/14137">エピック</a><a href="https://gitlab.com/groups/gitlab-org/-/epics/14137"></a></p>
<p>&lt;!-- blank line --&gt;</p>
<p>&lt;figure class=&quot;video_container&quot;&gt;
&lt;iframe src=&quot;https://www.youtube.com/embed/ZkIkaJDEcEE?si=F7dfSCtzBIv02_is&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;true&quot;&gt; &lt;/iframe&gt;
&lt;/figure&gt;
&lt;!-- blank line --&gt;</p>
<h3>GitLab Duoコードレビューが一般公開開始</h3>
<blockquote>
<p>SaaS: Premium、Ultimate、Duo Enterprise<br>
Self-Managed: Premium、Ultimate、Duo Enterprise</p>
</blockquote>
<p>GitLab Duoコードレビューが一般公開され、本番環境で使用できるようになりました。AI搭載のこのコードレビューアシスタントは、マージリクエストに対して的確で自動化されたフィードバックを提供し、従来のコードレビュープロセスを変革します。これにより、人間のレビュアーが関与する前に、潜在的なバグ、セキュリティの脆弱性、コード品質の問題を特定できるため、レビュープロセス全体を徹底的かつ効率的に行うことができます。GitLab Duoコードレビューには以下の機能が含まれています。</p>
<ul>
<li><strong>自動初期レビュー</strong>：コードの変更内容を分析し、潜在的な問題、改善点、ベストプラクティスに関する包括的なフィードバックを提供します。</li>
<li><strong>対話ベースで改善</strong>：マージリクエストコメントで<code>@GitLabDuo</code>をメンションすると、特定の変更や質問に対する的確なフィードバックを受け取ることができます。</li>
<li><strong>実行可能な提案</strong>：多くの提案をブラウザから直接適用できるため、改善プロセスが効率化されます。</li>
<li><strong>文脈を理解した分析</strong>：変更されたファイルの内容を理解し、プロジェクトに特化した関連性の高い推奨事項を提供します。</li>
</ul>
<p>GitLab Duoコードレビューをリクエストするには、次の手順に従います。</p>
<ul>
<li>マージリクエストで、<code>/assign_reviewer</code> <code>@GitLabDuo</code>クイックアクションを使用して<code>@GitLabDuo</code>をレビュアーとして追加するか、GitLab Duoをレビュアーとして直接割り当てます。</li>
<li>コメントで<code>@GitLabDuo</code>をメンションすると、ディスカッションスレッドで特定の質問をしたり、詳細なフィードバックをリクエストしたりできます。</li>
<li>プロジェクト設定で自動レビューを有効にすると、GitLab Duoがすべての新しいマージリクエストを自動的にレビューします。</li>
</ul>
<p>GitLab Duoコードレビューを活用することで、チームがより高いコード品質基準を維持しながら、手動レビューサイクルに費やす時間を短縮できます。問題を早期に発見し、教育的なフィードバックを提供することで、開発チームにとって品質管理ツールと学習ツールの両方の役割を果たします。</p>
<p>ベータ版時のGitLab Duoコードレビューの動作はこちらを<a href="https://www.youtube.com/watch?v=FlHqfMMfbzQ">ご覧ください</a>。</p>
<p><a href="https://gitlab.com/gitlab-org/gitlab/-/issues/517386">イシュー517386</a>でご経験やフィードバックをお寄せいただき、本機能の継続的な改善にご協力ください。</p>
<p><a href="https://docs.gitlab.com/user/project/merge_requests/duo_in_merge_requests/#have-gitlab-duo-review-your-code">ドキュメント</a><br>
<a href="https://gitlab.com/groups/gitlab-org/-/epics/13979">エピック</a><a href="https://gitlab.com/groups/gitlab-org/-/epics/13979"></a></p>
<p><img src="https://about.gitlab.com/images/18_1/create-duo-code-review.png" alt="GitLab Duoコードレビューが一般公開開始"></p>
<h3>ネイティブGitLab認証情報の漏洩パスワード検出</h3>
<blockquote>
<p>SaaS: Free、Premium、Ultimate<br>
Self-Managed: -</p>
</blockquote>
<p>GitLab.comへのサインイン時に、アカウント認証情報の安全なチェックが実行されるようになりました。お使いのパスワードが既知の情報漏洩に含まれている場合、GitLabにバナーが表示され、メール通知が送信されます。これらの通知には、認証情報の更新手順が記載されています。</p>
<p>セキュリティを最大限に高めるために、GitLabでは以下を推奨しています。</p>
<ul>
<li>GitLab専用の強力なパスワードの使用</li>
<li>2要素認証の有効化</li>
<li>アカウントアクティビティの定期的な確認</li>
</ul>
<p>注：この機能はネイティブGitLabのユーザー名とパスワードでのみ利用可能です。SSO認証情報は対象外です。</p>
<p><a href="https://docs.gitlab.com/security/compromised_password_detection/">ドキュメント</a><br>
<a href="https://gitlab.com/gitlab-org/gitlab/-/issues/549865">イシュー</a><a href="https://gitlab.com/gitlab-org/gitlab/-/issues/549865"></a><a href="https://gitlab.com/gitlab-org/gitlab/-/issues/549865"></a></p>
<p><img src="https://about.gitlab.com/images/18_1/sscs_password_alert.png" alt="ネイティブGitLab認証情報の漏洩パスワード検出"></p>
<h3>CI/CDコンポーネントでSLSAレベル1のコンプライアンスに対応</h3>
<blockquote>
<p>SaaS: Free、Premium、Ultimate<br>
Self-Managed: Free、Premium、Ultimate</p>
</blockquote>
<p>GitLabの新しいCI/CDコンポーネントを使用することで、<a href="https://slsa.dev/">SLSA</a>レベル1のコンプライアンスに対応できるようになりました。このコンポーネントは、GitLab Runnerが生成するSLSA準拠の <a href="https://docs.gitlab.com/ci/runners/configure_runners/#artifact-provenance-metadata">アーティファクトの来歴メタデータ</a>に対して署名と検証を実行します。また、<a href="https://docs.gitlab.com/ee/ci/yaml/signing_examples.html">Sigstore Cosignの機能</a>を再利用可能なモジュールとして提供し、CI/CDワークフローに簡単に統合できるようにします。</p>
<p><a href="https://docs.gitlab.com/ci/pipelines/pipeline_security/#sign-and-verify-slsa-provenance-with-a-cicd-component">ドキュメント</a><br>
<a href="https://gitlab.com/groups/gitlab-org/-/epics/15859">エピック</a></p>
<p><a href="https://gitlab.com/groups/gitlab-org/-/epics/15859"></a></p>
<p><img src="https://about.gitlab.com/images/18_1/SLSA_component.png" alt="CI/CDコンポーネントでSLSAレベル1のコンプライアンスに対応"></p>
<h2>GitLab 18.1リリースに含まれるその他の改善点</h2>
<h3>コード検索で複数の検索結果の統合表示が可能に</h3>
<blockquote>
<p>SaaS: Premium、Ultimate<br>
Self-Managed: Premium、Ultimate</p>
</blockquote>
<p>完全一致コードの検索（ベータ版）では、同じファイル内の複数の検索結果を単一のビューに統合して表示できるようになりました。この改善により、次のことが可能になります。</p>
<ul>
<li>孤立した行表示ではなく、隣接する一致間のコンテキストを保持</li>
<li>一致する内容が近い場合に重複コンテンツを排除し、視覚的な混乱を軽減</li>
<li>ファイルごとの一致数を明確に表示することで、ナビゲーションを強化</li>
<li>エディタでの表示と同様にコードを表示することで、可読性を改善</li>
</ul>
<p>この変更により、リポジトリ全体のコードパターンの発見と理解がより効率的になりました。</p>
<p><a href="https://docs.gitlab.com/integration/exact_code_search/zoekt/">ドキュメント</a><br>
<a href="https://gitlab.com/groups/gitlab-org/-/epics/13127">エピック</a></p>
<p>&lt;!-- blank line --&gt;</p>
<p>&lt;figure class=&quot;video_container&quot;&gt;
&lt;iframe src=&quot;https://www.youtube.com/embed/wx2D39UdUoQ?si=fvjYK-rYVHPgVgzs&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;true&quot;&gt; &lt;/iframe&gt;
&lt;/figure&gt;
&lt;!-- blank line --&gt;</p>
<h3>権限チェック機能を強化したCODEOWNERSファイル検証</h3>
<p>SaaS: Premium、Ultimate<br>
Self-Managed: Premium、Ultimate</p>
<p>GitLabでは、基本的な構文チェックを超えた、CODEOWNERSファイルに対するより強化された検証が提供されるようになりました。CODEOWNERSファイルを表示すると、GitLabが自動的に包括的な検証を実行し、マージリクエストのワークフローに影響を与える前に構文エラーと権限の問題を特定します。</p>
<p>この強化された検証では、CODEOWNERSファイル内の最初の200のユニークなユーザーとグループの参照をチェックし、次のことを検証します。</p>
<ul>
<li>参照されたすべてのユーザーとグループがこのプロジェクトにアクセスできること</li>
<li>ユーザーに、マージリクエストを承認するために必要な権限があること</li>
<li>グループに、デベロッパーレベル以上のアクセス権があること</li>
<li>グループに、マージリクエストの承認権限を持つユーザーが少なくとも1人含まれていること</li>
</ul>
<p>この事前検証により、設定上の問題を早期に発見して承認ワークフローの中断を防ぎ、マージリクエストが作成されたときにGitLabコードオーナーが実際にレビューの責任を果たせるようにできます。</p>
<p><a href="https://docs.gitlab.com/ee/user/project/codeowners/troubleshooting.html#validate-your-codeowners-file">ドキュメント</a><br>
<a href="https://gitlab.com/groups/gitlab-org/-/epics/15598">エピック</a></p>
<h3>VS Codeでダウンストリームパイプラインのジョブログを表示</h3>
<blockquote>
<p>SaaS: Free、Premium、Ultimate<br>
Self-Managed: Free、Premium、Ultimate</p>
</blockquote>
<p>VS Code用GitLab Workflow拡張機能で、ダウンストリームパイプラインからのジョブログをエディタ内で直接表示できるようになりました。これまで、子パイプラインからログを確認するには、GitLab Webインターフェイスに切り替える必要がありました。</p>
<p>この機能は、<a href="https://about.gitlab.com/community/co-create/">GitLab共同開発</a>を通じて開発されました。この場を借りて、コントリビュートしてくれたTim Ryanさんに感謝します！</p>
<p><a href="https://docs.gitlab.com/editor_extensions/visual_studio_code/cicd/">ドキュメント</a><br>
<a href="https://gitlab.com/gitlab-org/gitlab-vscode-extension/-/issues/1895">イシュー</a></p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1750659268/orzwm4kjqdag8fe0psvr.png" alt="VS Codeでダウンストリームパイプラインのジョブログを表示"></p>
<h3>シークレット検出のデフォルトルールとDAST検出の同等性</h3>
<blockquote>
<p>SaaS: Ultimate<br>
Self-Managed: Ultimate</p>
</blockquote>
<p>DASTアナライザーが、GitLabのシークレット検出アナライザーで使用されるものと同じデフォルトのシークレット検出ルールを自動的に取り込むようになりました。この改善により、両方のアナライザーで検出されるシークレットの種類に一貫性が確保されます。</p>
<p><a href="https://docs.gitlab.com/user/application_security/dast/browser/checks/">ドキュメント</a><br>
<a href="https://gitlab.com/gitlab-org/gitlab/-/issues/549990">イシュー</a></p>
<h3>依存関係リストでコンポーネントバージョンによるフィルタリング</h3>
<blockquote>
<p>SaaS: Ultimate<br>
Self-Managed: Ultimate</p>
</blockquote>
<p>依存関係リストで、コンポーネントのバージョン番号によるフィルタリングがサポートされるようになりました。複数のバージョン（<code>バージョン=1.1、1.2、1.4</code>など）を選択できますが、バージョン範囲指定はサポートされていません。この機能は、グループとプロジェクトの両方で利用できます。</p>
<p><a href="https://docs.gitlab.com/user/application_security/dependency_list/#filter-dependency-list">ドキュメント</a><br>
<a href="https://gitlab.com/groups/gitlab-org/-/epics/16431">エピック</a></p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1750659404/fepyzz2uv3j47bjcehhi.png" alt="依存関係リストでコンポーネントバージョンによるフィルタリング"></p>
<h3>コンプライアンスステータスレポートでコントロールステータスの一覧がポップアップで表示されるように</h3>
<blockquote>
<p>SaaS: Ultimate<br>
Self-Managed: Ultimate</p>
</blockquote>
<p>コンプライアンスステータスレポートのコントロールには、次の3つのステータスがあります。</p>
<ul>
<li>合格</li>
<li>失敗</li>
<li>保留中</li>
</ul>
<p>これまでは、要求事項に関連付けられているコントロールの数に関係なく、少なくとも1つのコントロールが「保留中」の場合、要求事項行全体が「保留中」として表示されていました。これは、失敗したコントロールの表示方法とは一貫性がありませんでした。失敗したコントロールが1つでもある場合は、要求事項に関連付けられた全コントロール数と失敗の数が表示されます。</p>
<p>「保留中」のコントロールに関する詳細なコンテキストと情報を提供するため、要求事項行のステータスにカーソルを合わせると、各コントロールのステータスを一覧表示するポップアップが表示されるようになりました。これにより、単に「保留中」という全体ステータスを確認するだけでなく、どのコントロールが保留中で、どのコントロールが合格または失敗しているかを具体的に把握できるようになりました。</p>
<p><a href="https://docs.gitlab.com/user/compliance/compliance_center/compliance_status_report/">ドキュメント</a><br>
<a href="https://gitlab.com/gitlab-org/gitlab/-/issues/521757">イシュー</a></p>
<h3>ボットユーザーと人間のユーザーのフィルタリング</h3>
<blockquote>
<p>SaaS: -<br>
Self-Managed: Free、Premium、Ultimate</p>
</blockquote>
<p>運用が進んだGitLabインスタンスでは、多くの場合、人間とボットの両方のユーザーが多数存在します。今回のリリースで、管理者エリアのユーザーリストをユーザータイプでフィルタリングできる機能が追加されました。この機能により、以下のことが可能になります。</p>
<ul>
<li>人間のユーザーと自動化アカウントを区別して迅速に特定、管理</li>
<li>特定のユーザータイプに絞った管理アクションを実行</li>
<li>ユーザーの監査と管理のワークフローの効率化</li>
</ul>
<p><a href="https://docs.gitlab.com/administration/moderate_users/#view-users-by-type">ドキュメント</a><br>
<a href="https://gitlab.com/gitlab-org/gitlab/-/issues/541186">イシュー</a></p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1750659653/prkshqzxg5785p69yshd.png" alt="ボットユーザーと人間のユーザーのフィルタリング"></p>
<p><a href="https://gitlab.com/gitlab-org/gitlab/-/issues/541186"></a></p>
<h3>ユーザープロフィールのORCID識別子</h3>
<blockquote>
<p>SaaS: Free、Premium、Ultimate<br>
Self-Managed: Free、Premium、Ultimate</p>
</blockquote>
<p>ユーザープロフィールにORCID識別子を設定できるようになり、GitLabが研究者や学術コミュニティにとってより使いやすく価値あるものになりました。<a href="https://orcid.org/">ORCID</a>（Open Researcher and Contributor ID）は、研究者に永続的なデジタル識別子を提供し、他の研究者との区別を可能にするとともに、研究者とその業績を自動的に関連付けることで、適切な評価を支援するものです。</p>
<p>この機能は、学術コミュニティからの長年の要望に応えるため、アルトワ大学の修士課程の学生であるThomas LabaletteとErwan Hivinが<a href="https://www.ouvrirlascience.fr/appointment-of-daniel-le-berre-as-the-national-coordinator-for-higher-education-and-research-software-forges-in-france/">Daniel Le Berre</a>の指導の下、コミュニティに貢献することを目的に開発したものです。</p>
<p><a href="https://docs.gitlab.com/user/profile/">ドキュメント</a><br>
<a href="https://gitlab.com/gitlab-org/gitlab/-/issues/23543">イシュー</a></p>
<p><a href="https://gitlab.com/gitlab-org/gitlab/-/issues/23543"></a></p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1750663008/oogvxelirqapyxp10pha.png" alt="ユーザープロフィールのORCID識別子"></p>
<h3>サービスアカウントのパイプライン通知への登録</h3>
<blockquote>
<p>SaaS: Premium、Ultimate<br>
Self-Managed: Premium、Ultimate</p>
</blockquote>
<p>サービスアカウントによってトリガーされたパイプラインイベントの通知を、受信できるようになりました。通知はパイプラインが合格、失敗、または修正された場合に送信されます。これまでは、サービスアカウントに有効なカスタムメールアドレスが設定されている場合にのみ、そのサービスアカウントのメールアドレスに通知が送信されていました。</p>
<p>この場を借りて、コントリビュートしてくれた<a href="https://gitlab.com/Densett">Densett</a>さん、<a href="https://gitlab.com/tonton1728">Gilles Dehaudt</a>さん、<a href="https://gitlab.com/lenaing">Lenain</a>さん、<a href="https://gitlab.com/gmcquat">Geoffrey McQuat</a>さん、<a href="https://gitlab.com/rbihore">Raphaël Bihoré</a>さんに感謝します！</p>
<p><a href="https://docs.gitlab.com/user/profile/notifications/#notification-events-on-issues-merge-requests-and-epics">ドキュメント</a><br>
<a href="https://gitlab.com/gitlab-org/gitlab/-/issues/515629">イシュー</a></p>
<h3>無効となっているパーソナルアクセストークンの表示</h3>
<blockquote>
<p>SaaS: Free、Premium、Ultimate<br>
Self-Managed: Free、Premium、Ultimate</p>
</blockquote>
<p>GitLabは、有効期限が切れたり、失効したりしたアクセストークンを自動的に無効化します。今回の変更では、無効となっているトークンを確認できるようになりました。これまでは、アクセストークンが無効になると表示されなくなっていました。この変更により、こうしたトークンのトレーサビリティとセキュリティが向上します。</p>
<p><a href="https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html">ドキュメント</a><br>
<a href="https://gitlab.com/gitlab-org/gitlab/-/issues/425053">イシュー</a></p>
<p>&lt;!-- blank line --&gt;</p>
<p>&lt;figure class=&quot;video_container&quot;&gt;
&lt;iframe src=&quot;https://www.youtube.com/embed/weEU6pukbag?si=ebijnyBQdW1_5yBl&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;true&quot;&gt; &lt;/iframe&gt;
&lt;/figure&gt;
&lt;!-- blank line --&gt;</p>
<h3>GitLab Query Language（GLQL）ビューでのエピックサポート（ベータ版）</h3>
<blockquote>
<p>SaaS: Free、Premium、Ultimate<br>
Self-Managed: Free、Premium、Ultimate</p>
</blockquote>
<p>GitLab Query Language（GLQL）ビューが大幅に改善されました。今後は、クエリでエピックをタイプとして使用できるようになり、グループ全体のエピック検索や親エピックへのクエリが可能になります。</p>
<p>この機能強化により計画・追跡のワークフローが大きく向上し、エピックレベルでのクエリや整理が格段に効率化されます。</p>
<p><a href="https://docs.gitlab.com/user/glql/fields/#epic">ドキュメント</a><br>
<a href="https://gitlab.com/gitlab-org/gitlab-query-language/glql-rust/-/issues/30">イシュー</a></p>
<h3>レビューパネルによるマージリクエストのレビューエクスペリエンスの強化</h3>
<blockquote>
<p>SaaS: Free、Premium、Ultimate<br>
Self-Managed: Free、Premium、Ultimate</p>
</blockquote>
<p>マージリクエストのレビューを行う際、レビューを送信する前にこれまでのフィードバックを参照すると役立つことがあります。これまでは、最終コメントと保留中コメントが別々のポップアップに分かれていたため、全体像を把握することが困難でした。</p>
<p>コードレビュー時に、保留中の下書きコメントを一箇所にまとめて表示する専用ドロワーが利用できるようになりました。強化されたレビューパネルでは、レビュー送信インターフェイスがよりアクセスしやすい場所に移動し、保留中のコメント数を示す番号付きバッジが表示されます。パネルを開くと、下にスクロールできるリストに下書きコメントがすべて表示されるため、送信前のフィードバックの確認と管理が簡単になります。</p>
<p><a href="https://docs.gitlab.com/user/project/merge_requests/reviews/#submit-a-review">ドキュメント</a><br>
<a href="https://gitlab.com/gitlab-org/gitlab/-/issues/525841">イシュー</a></p>
<p><a href="https://gitlab.com/gitlab-org/gitlab/-/issues/525841"></a></p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1750663218/yfbrzecnuynpb1g57854.png" alt="レビューパネルによるマージリクエストのレビューエクスペリエンスの強化"></p>
<h3>GitLab Runner 18.1</h3>
<blockquote>
<p>SaaS: Free、Premium、Ultimate<br>
Self-Managed: Free、Premium、Ultimate</p>
</blockquote>
<p>GitLab Runner 18.1もリリースされます！GitLab Runnerは、CI/CDジョブを実行し、結果をGitLabインスタンスに送信する、拡張性の高いビルドのエージェントです。GitLabに含まれるオープンソースの継続的インテグレーションサービスであるGitLab CI/CDと連携して動作します。</p>
<p>バグ修正：</p>
<ul>
<li><a href="https://gitlab.com/gitlab-org/gitlab/-/issues/543351">GitLab 17.10または17.11にアップグレードすると、Runnerがジョブをリクエストしたときに404エラーが発生する可能性があります</a>。</li>
</ul>
<p>すべての変更の一覧は、GitLab Runnerの<a href="https://gitlab.com/gitlab-org/gitlab-runner/blob/18-1-stable/CHANGELOG.md">変更履歴</a>で確認できます。</p>
<p><a href="https://docs.gitlab.com/runner">ドキュメント</a></p>
<h3>高度なSASTのPHPサポート</h3>
<blockquote>
<p>SaaS: Ultimate<br>
Self-Managed: Ultimate</p>
</blockquote>
<p>GitLabの高度なSASTにPHPサポートを追加しました。この新しいファイル間、関数間スキャン機能を使用するには、<a href="https://docs.gitlab.com/user/application_security/sast/gitlab_advanced_sast/#enable-advanced-sast-scanning">高度なSASTを有効</a>にします。高度なSASTをすでに有効にしている場合、PHPサポートは自動的に有効になります。</p>
<p>高度なSASTが各言語で検出する脆弱性の種類を確認するには、<a href="https://docs.gitlab.com/user/application_security/sast/advanced_sast_coverage/">高度なSASTカバレッジページ</a>を参照してください。</p>
<p><a href="https://docs.gitlab.com/user/application_security/sast/gitlab_advanced_sast/#supported-languages">ドキュメント</a><br>
<a href="https://gitlab.com/groups/gitlab-org/-/epics/14273">エピック</a></p>
<h3>パイプライン実行ポリシーにおける変数の優先順位制御</h3>
<blockquote>
<p>SaaS: Ultimate<br>
Self-Managed: Ultimate</p>
</blockquote>
<p>多くの場合、セキュリティチームはセキュリティ保証とデベロッパーエクスペリエンスの間で微妙なバランスを取ることになります。セキュリティスキャンが適切に実行されていることを確認するのは重要ですが、セキュリティアナライザーが正常に動作するためには、開発チームからの特定のインプットが必要な場合があります。変数の優先順位制御により、セキュリティチームは新しい<code>variables_override</code>設定オプションを通じて、パイプライン実行ポリシーにおける変数の処理方法を細かく制御できるようになりました。</p>
<p>この新しい設定を使用すると、次のことが可能になります。</p>
<ul>
<li>プロジェクト固有のコンテナイメージパス（<code>CS_IMAGE</code>）を許可するコンテナスキャンポリシーを適用</li>
<li><code>SAST_EXCLUDED_PATHS</code>などの低リスク変数は許可し、<code>SAST_DISABLED</code>などの高リスク変数はブロック</li>
<li><code>AWS_CREDENTIALS</code>などのグローバルCI/CD変数で保護（マスクまたは非表示）されたグローバル共有認証情報を定義しつつ、必要に応じてプロジェクトレベルのCI/CD変数によるプロジェクト固有の上書きを許可</li>
</ul>
<p>この強力な機能は、次の2つのアプローチをサポートしています。</p>
<ul>
<li><strong>デフォルトで変数をロックする</strong>（<code>allow: false</code>）：例外として指定した特定の変数を除き、すべての変数をロック</li>
<li><strong>デフォルトで変数を許可する</strong><code>（allow: true</code>）：変数のカスタマイズを許可するが、重大なリスクのある変数を例外として指定することで制限</li>
</ul>
<p>パイプライン実行ポリシーによってCI/CDジョブが実行される際のトレーサビリティとトラブルシューティングを改善するために、ジョブログ機能も導入されました。これにより、デベロッパーとセキュリティチームは、どのジョブがポリシーによって実行されたかを簡単に特定できますジョブログでは、変数の上書きによる影響の詳細を確認でき、どの変数がポリシーによって上書きまたはロックされているかを把握するのに役立ちます。</p>
<p><strong>実際の影響</strong></p>
<p>この機能強化により、セキュリティ要件とデベロッパーの柔軟性のニーズとの間のギャップが解消されます。</p>
<ul>
<li>セキュリティチーム：プロジェクト固有のカスタマイズを許可しつつ、標準化されたスキャンを実行できる</li>
<li>デベロッパーは：ポリシーの例外をリクエストすることなく、プロジェクト固有の変数を制御できる</li>
<li>組織は：開発ワークフローを混乱させることなく、一貫したセキュリティポリシーを実装できる</li>
</ul>
<p>この重要な変数制御機能により、GitLabは組織が開発の柔軟性を保ちながら強固なセキュリティポリシーを導入できる環境を提供します。</p>
<p><a href="https://docs.gitlab.com/user/application_security/policies/pipeline_execution_policies/#variables_override-type">ドキュメント</a><br>
<a href="https://gitlab.com/groups/gitlab-org/-/epics/16430">エピック</a></p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1750663308/h1oukhyd4ky1w6spdxpo.png" alt="パイプライン実行ポリシーにおける変数の優先順位制御"></p>
<h3>外部カスタムコントロールの<code>Name</code>を定義</h3>
<blockquote>
<p>SaaS: Ultimate<br>
Self-Managed: Ultimate</p>
</blockquote>
<p>これまでは、カスタムコンプライアンスフレームワークを作成する際に外部カスタムコントロールの名前を定義できず、GitLabコントロールと並んでリスト表示される外部コントロールを識別することが困難でした。</p>
<p>今回、外部カスタムコントロールを定義する際のワークフローの一部として<code>Name</code>フィールドが追加されました。これにより、複数の外部カスタムコントロールを作成し、それぞれに固有の名前を設定して明確に区別できるようになりました。</p>
<p><a href="https://docs.gitlab.com/user/compliance/compliance_frameworks/#external-controls">ドキュメント</a><br>
<a href="https://gitlab.com/gitlab-org/gitlab/-/issues/527007">イシュー</a></p>
<h3>GitLab Duo脆弱性の修正のためのSASTカバレッジの向上</h3>
<blockquote>
<p>SaaS: Ultimate<br>
Self-Managed: Ultimate</p>
</blockquote>
<p>これまでは、次のCommon Weakness Enumeration（CWE）識別子を持つ検出された脆弱性を手動で解決する必要がありました。</p>
<ul>
<li>CWE-78（コマンドインジェクション）</li>
<li>CWE-89（SQLインジェクション）</li>
</ul>
<p>現在は、GitLab Duo脆弱性の修正により、これらの脆弱性を自動的に修正できるようになりました。</p>
<p><a href="https://docs.gitlab.com/user/application_security/vulnerabilities/#supported-vulnerabilities-for-vulnerability-resolution">ドキュメント</a><br>
<a href="https://gitlab.com/gitlab-org/gitlab/-/issues/534307">イシュー</a></p>
<h3>コンプライアンスフレームワークUIにおける要件のページネーション</h3>
<blockquote>
<p>SaaS: Ultimate<br>
Self-Managed: Ultimate</p>
</blockquote>
<p>コンプライアンスフレームワークを作成する際は、最大50個の要件を指定できます。</p>
<p>ただし、これほど多くの要件があると、UIで大きな表示領域を占めるため、コンプライアンスフレームワークの操作が非常に困難になります。</p>
<p>今回のリリースでは、コンプライアンスフレームワークに多数の要件が含まれている場合でも、ユーザーが要件を簡単に閲覧、検索、選択できるよう、要件のページネーション機能を導入しました。</p>
<p><a href="https://docs.gitlab.com/user/compliance/compliance_frameworks/#add-requirements">ドキュメント</a><br>
<a href="https://gitlab.com/gitlab-org/gitlab/-/issues/531039">イシュー</a></p>
<h3>コンプライアンスセンターのUIパフォーマンスとフィルタリングを改善</h3>
<blockquote>
<p>SaaS: Ultimate<br>
Self-Managed: Ultimate</p>
</blockquote>
<p>コンプライアンスセンターのUIパフォーマンスとフィルタリングオプションの改善を継続しています。今回のリリースでは、次のことを行いました。</p>
<ul>
<li>特に多くの要件とプロジェクトが含まれる場合に、<strong>フレームワークの編集</strong>ページのUIスピードとパフォーマンスを改善しました。</li>
<li>コンプライアンスセンターの<strong>コンプライアンスステータスレポート</strong>タブで、要件、プロジェクト、またはフレームワーク別にグループ化できる新しいフィルタリングオプションを導入しました。</li>
</ul>
<p>これらの改善を行うことで、コンプライアンスセンターを定期的に利用するお客様に対し、コンプライアンスセンターと関連機能が大規模環境でも継続して高いパフォーマンスを発揮できるようにしています。</p>
<p><a href="https://docs.gitlab.com/user/compliance/compliance_center/">ドキュメント</a><br>
<a href="https://gitlab.com/gitlab-org/gitlab/-/issues/508188">イシュー</a><br>
<a href="https://gitlab.com/gitlab-org/gitlab/-/issues/478216">イシュー</a></p>
<h3>GraphQL APIの<code>projectMembers</code>に新しい<code>accessLevels</code>引数を追加</h3>
<blockquote>
<p>SaaS: Free、Premium、Ultimate<br>
Self-Managed: Free、Premium、Ultimate</p>
</blockquote>
<p>GraphQL APIの<code>projectMembers</code>フィールドに<code>accessLevels</code>引数が追加されました。この引数を使用すると、APIコールから直接アクセスレベル別にプロジェクトメンバーをフィルタリングできます。これまでは、プロジェクトメンバーの全リストを取得してからローカルでフィルターを適用する必要があり、これにより計算オーバーヘッドが大幅に増加していました。現在では、プロジェクトの権限分析や所有権グラフの生成がより高速化し、リソース効率も向上しています。この機能強化は、複雑な権限構造を持つ大規模デプロイを管理する組織にとって特に価値があります。</p>
<p><a href="https://docs.gitlab.com/api/graphql/reference/#projectprojectmembers">ドキュメント</a><br>
<a href="https://gitlab.com/gitlab-org/gitlab/-/issues/541386">イシュー</a></p>
<h2>バグ修正、パフォーマンスの改善、UIの改善</h2>
<p>GitLabでは、ユーザーに可能な限り最高の環境をお届けできるよう尽力しています。リリースのたびに、バグを修正し、パフォーマンスを改善し、UIを向上させるためにたゆまぬ努力を続けています。GitLabは、100万人を超えるGitLab.comユーザーをはじめ、GitLabのプラットフォームを利用するすべての人にスムーズでシームレスな体験をお届けすることを約束します。</p>
<p>18.1で提供されたすべてのバグ修正、パフォーマンスの強化、UI改善を確認するには、以下のリンクをクリックしてください。</p>
<ul>
<li><a href="https://gitlab.com/groups/gitlab-org/-/issues/?sort=updated_desc&amp;state=closed&amp;label_name%5B%5D=type%3A%3Abug&amp;or%5Blabel_name%5D%5B%5D=workflow%3A%3Acomplete&amp;or%5Blabel_name%5D%5B%5D=workflow%3A%3Averification&amp;or%5Blabel_name%5D%5B%5D=workflow%3A%3Aproduction&amp;milestone_title=18.1">バグ修正</a></li>
<li><a href="https://gitlab.com/groups/gitlab-org/-/issues/?sort=updated_desc&amp;state=closed&amp;label_name%5B%5D=bug%3A%3Aperformance&amp;or%5Blabel_name%5D%5B%5D=workflow%3A%3Acomplete&amp;or%5Blabel_name%5D%5B%5D=workflow%3A%3Averification&amp;or%5Blabel_name%5D%5B%5D=workflow%3A%3Aproduction&amp;milestone_title=18.1">パフォーマンスの改善</a></li>
<li><a href="https://papercuts.gitlab.com/?milestone=18.1">UIの改善</a></li>
</ul>
<h2>非推奨事項</h2>
<p>新たに非推奨になった機能、および現在非推奨になっているすべての機能の一覧は、<a href="https://docs.gitlab.com/ee/update/deprecations.html">GitLabドキュメント</a>で確認できます。今後の破壊的な変更について通知を受け取るには、<a href="https://about.gitlab.com/breaking-changes.xml">破壊的な変更のRSSフィードにサブスクライブ</a>してください。<a href="https://docs.gitlab.com/ee/update/deprecations.html#resource-owner-password-credentials-grant-is-deprecated"></a><a href="https://docs.gitlab.com/ee/update/deprecations.html#coverage-guided-fuzz-testing-is-deprecated"></a></p>
<h2>削除された機能と破壊的な変更</h2>
<p>削除されたすべての機能の一覧は、<a href="https://docs.gitlab.com/ee/update/deprecations.html">GitLabドキュメント</a>で確認できます。今後の破壊的な変更について通知を受け取るには、<a href="https://about.gitlab.com/breaking-changes.xml">破壊的な変更のRSSフィードにサブスクライブ</a>してください。</p>
<p><a href="https://docs.gitlab.com/ee/update/deprecations.html#api-discovery-will-use-branch-pipelines-by-default"></a><a href="https://docs.gitlab.com/ee/update/deprecations.html#toggle-notes-confidentiality-on-apis"></a></p>
<h3>変更履歴</h3>
<p>変更内容をすべて表示するには、次のページから変更履歴を確認してください。</p>
<ul>
<li><a href="https://gitlab.com/gitlab-org/gitlab-foss/blob/master/CHANGELOG.md">GitLab</a></li>
<li><a href="https://gitlab.com/gitlab-org/gitlab-runner/blob/main/CHANGELOG.md">GitLab Runner</a></li>
<li><a href="https://gitlab.com/gitlab-org/gitlab-vscode-extension/-/blob/main/CHANGELOG.md">VS CodeのGitLab Workflow</a></li>
<li><a href="https://gitlab.com/gitlab-org/cli/-/releases">GitLab CLI</a></li>
</ul>
<h3>インストール</h3>
<p>GitLabを新規にインストールする場合は、<a href="https://about.gitlab.com/ja-jp/install/">GitLabのダウンロードページ</a>をご覧ください。</p>
<h3>更新事項</h3>
<p><a href="https://about.gitlab.com/ja-jp/update/">更新ページ</a>をご覧ください。</p>
<h3>ご不明な点がある場合</h3>
<p>ご質問やご意見をお聞かせください。本リリースについてご不明な点がある場合は、<a href="https://forum.gitlab.com/">GitLabフォーラム</a>にアクセスして質問を投稿してください。</p>
<h3>GitLabサブスクリプションプラン</h3>
<ul>
<li><a href="https://about.gitlab.com/pricing/">Free</a><br>
ユーザー向けの永久無料機能を提供</li>
<li><a href="https://about.gitlab.com/pricing/premium/">Premium</a><br>
チームの生産性と調整を強化</li>
<li><a href="https://about.gitlab.com/pricing/ultimate/">Ultimate</a><br>
組織全体のセキュリティ、コンプライアンス、プランニングに対応</li>
</ul>
<p>GitLabのすべての機能を<a href="https://about.gitlab.com/free-trial/?hosted=saas">無料</a>でお試しいただけます。</p>
<p><em>監修：ソリス ジェレズ / Jerez Solis <a href="https://gitlab.com/jerezs">@jerezs</a>
（GitLab合同会社 ソリューションアーキテクト本部 ソリューションアーキテクト）</em></p>
<h3>過去の日本語リリース情報</h3>
<ul>
<li><a href="https://about.gitlab.com/ja-jp/blog/gitlab-18-01-release">GitLab 18.1</a></li>
<li><a href="https://about.gitlab.com/ja-jp/blog/gitlab-18-0-release/">GitLab 18.0</a></li>
<li><a href="https://about.gitlab.com/ja-jp/blog/gitlab-17-11-release/">GitLab 17.11</a></li>
<li><a href="https://about.gitlab.com/ja-jp/blog/gitlab-17-10-release/">GitLab 17.10</a></li>
<li><a href="https://about.gitlab.com/ja-jp/blog/gitlab-17-9-release/">GitLab 17.9</a></li>
<li><a href="https://about.gitlab.com/ja-jp/blog/gitlab-17-8-release/">GitLab 17.8</a></li>
<li><a href="https://about.gitlab.com/ja-jp/blog/gitlab-17-7-release/">GitLab 17.7</a></li>
<li><a href="https://about.gitlab.com/ja-jp/blog/gitlab-17-6-release/">GitLab 17.6</a></li>
<li><a href="https://about.gitlab.com/ja-jp/blog/gitlab-17-5-released/">GitLab 17.5</a></li>
<li><a href="https://about.gitlab.com/ja-jp/blog/gitlab-17-4-released/">GitLab 17.4</a></li>
<li><a href="https://about.gitlab.com/ja-jp/blog/gitlab-17-3-released/">GitLab 17.3</a></li>
<li><a href="https://about.gitlab.com/ja-jp/blog/gitlab-17-2-released/">GitLab 17.2</a></li>
<li><a href="https://about.gitlab.com/ja-jp/blog/gitlab-17-1-released/">GitLab 17.1</a></li>
<li><a href="https://about.gitlab.com/ja-jp/blog/gitlab-16-11-released/">GitLab 16.11</a></li>
</ul>
]]></content>
        <author>
            <name>GitLab Japan Team</name>
            <uri>https://about.gitlab.com/blog/authors/gitlab-japan team</uri>
        </author>
        <published>2025-06-20T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[GitLab Ultimate for IBM Z：メインフレーム向けモダンDevSecOps]]></title>
        <id>https://about.gitlab.com/ja-jp/blog/gitlab-ultimate-for-ibm-z-modern-devsecops-for-mainframes/</id>
        <link href="https://about.gitlab.com/ja-jp/blog/gitlab-ultimate-for-ibm-z-modern-devsecops-for-mainframes/"/>
        <updated>2025-06-20T00:00:00.000Z</updated>
        <content type="html"><![CDATA[<p>GitLabとIBMは、エンタープライズ開発における根本的な断絶を解決するためにパートナーシップを結びました。それは、メインフレーム開発者が分散環境の開発者と同じモダンなツール、ワークフロー、コラボレーション機能を使用できるようにすることです。GitLab Ultimate for IBM Zは、GitLab認定の統合DevSecOpsソリューションであり、メインフレーム環境に特化して設計されています。このソリューションにより、組織は時代遅れのレガシーライブラリマネージャーからのシームレスな移行を促進し、メインフレーム開発ワークフローをモダナイズできます。IBM z/OS上でネイティブに実行されるCI/CDパイプラインにより、お客様はイノベーションの加速と運用コストの削減を実現できます。</p>
<h2>現代におけるメインフレーム開発の課題</h2>
<p>ミッションクリティカルなワークロードにIBM Zシステムを使用するエンタープライズ組織は、従来のDevSecOpsツールでは対応できない課題に直面しています。クラウドネイティブチームは、モダンな<a href="https://about.gitlab.com/ja-jp/topics/ci-cd/">CI/CD</a>パイプライン、協調的な開発、自動化されたテストの恩恵を受けています。一方、メインフレームチームは取り残されることが多く、コストのかかる非効率性と運用サイロにつながる時代遅れのツールに縛られています。</p>
<p>チームはSSH接続や手動ファイル転送などの回避策に頼ることが多く、これらはセキュリティの脆弱性や監査の困難さを生み出します。コンプライアンス要件が厳格な場合、これらの即席のソリューションは受け入れられないリスクとなります。同時に、組織は高価な並行ツールチェーンを維持しており、レガシーメインフレーム開発ツールは、モダンな代替品と比較して限られた機能しか提供しないにもかかわらず、プレミアムライセンスコストがかかっています。</p>
<p>この断片化は2つの問題を生み出します：配信サイクルの遅延と、モダンな開発体験を期待する開発者の採用の困難さです。</p>
<blockquote>
<p><strong>「GitLab Ultimate for IBM Zは、長年の業界課題に対処する重要な一歩を表しています。IDCの調査によると、メインフレーム開発者は、配信の非効率性につながり、新しい人材を引き付けることを困難にするレガシーツールで作業することが多いことが示されています。このソリューションにより、モダンなDevSecOps機能と統一されたワークフローがメインフレームに直接もたらされます。これにより、開発者はより協調的かつ効率的に作業できるようになり、組織はイノベーションを加速し、メインフレーム開発をより広範なデジタルトランスフォーメーション戦略に統合することができます。」</strong> \</p>
<ul>
<li>Katie Norton、IDC DevSecOpsおよびソフトウェアサプライチェーンセキュリティ リサーチマネージャー</li>
</ul>
</blockquote>
<h2>統一された開発環境</h2>
<p>真のモダナイゼーションとは、単にメインフレーム開発を更新することではありません。それは、メインフレーム、クラウドネイティブ、Web、モバイル開発チームがシームレスに協力できる統一プラットフォームを作成することを意味します。</p>
<p>GitLab Ultimate for IBM Zにより、開発者はz/OS、クラウド、またはオンプレミスインフラストラクチャにデプロイする場合でも、一貫したワークフローを使用できます。知識はサイロ化されるのではなく、チーム間で共有されます。レガシーシステムは動作を継続しながら、チームは独自のペースでモダンなプラクティスを採用できるため、組織はビジネスの中断なく段階的にモダナイズできます。</p>
<p>組織がハイブリッドクラウド戦略を追求する中、GitLabはメインフレームとクラウドネイティブ環境にまたがるアプリケーションの基盤を提供します。</p>
<h2>GitLab Ultimate for IBM Zとは？</h2>
<p>GitLab Ultimate for IBM Zは、ネイティブz/OSランナーサポートを提供し、メインフレームインフラストラクチャ上で直接シームレスなCI/CDパイプライン実行を可能にします。このGitLab認定ソリューションは、エンタープライズアプリケーションが要求するセキュリティと信頼性を維持しながら、複雑な回避策の必要性を排除するのに役立ちます。</p>
<p>GitLabの包括的なDevSecOpsプラットフォームとIBMの深いメインフレーム専門知識の組み合わせにより、市場で独自のものが生まれます：エンタープライズレガシーシステムとクラウドネイティブイノベーションの間の真の架け橋を提供する認定ソリューションです。</p>
<h2>GitLab Ultimate for IBM Zの機能</h2>
<p>GitLab Ultimate for IBM Zは、重要なビジネスシステムを維持しながらメインフレーム開発をモダナイズするために必要なツールをエンタープライズチームに提供します。</p>
<p><strong>ネイティブz/OSランナーサポート</strong>は、リモート接続に関連するセキュリティリスクとスケーラビリティのボトルネックを排除し、メインフレームコードが存在する場所で直接実行されるCI/CDパイプラインを通じて配信を加速します。</p>
<p><strong>統一されたソースコード管理</strong>は、高価なレガシーライブラリマネージャーをGitLabの検索可能でバージョン管理されたリポジトリシステムに置き換えることで、ツールチェーンをモダナイズし、ライセンスコストとメンテナンスのオーバーヘッドを削減するのに役立ちます。</p>
<p><strong>IBM Developer for z/OS Enterprise Edition (IDzEE)とのシームレスな統合</strong>は、依存関係ベースのビルド、自動コードスキャン、および使い慣れた開発環境内の包括的なデバッグツールを通じて、より高速なソフトウェアリリースを実現し、品質とセキュリティの両方を向上させます。</p>
<p><strong>メインフレームと分散環境全体のエンドツーエンドの可視性</strong>は、計画から本番までの包括的なプロジェクト管理を提供し、モダンな次世代開発ツールを通じて人材を維持するのに役立つ自動化されたDevOpsワークフローを可能にします。</p>
<h2>今すぐメインフレーム開発環境をモダナイズ</h2>
<p>GitLab Ultimate for IBM Zは、メインフレーム開発体験を変革する準備ができている組織向けに、現在利用可能です。詳細については、<a href="https://about.gitlab.com/partners/technology-partners/ibm/">GitLabとIBMのパートナーシップページ</a>をご覧ください。</p>
]]></content>
        <author>
            <name>Mike Flouton</name>
            <uri>https://about.gitlab.com/blog/authors/mike-flouton</uri>
        </author>
        <author>
            <name>Andy Bradfield</name>
            <uri>https://about.gitlab.com/blog/authors/andy-bradfield</uri>
        </author>
        <published>2025-06-20T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[Dockerとは：超入門編]]></title>
        <id>https://about.gitlab.com/ja-jp/blog/what-is-docker/</id>
        <link href="https://about.gitlab.com/ja-jp/blog/what-is-docker/"/>
        <updated>2025-06-18T00:00:00.000Z</updated>
        <content type="html"><![CDATA[<p>Dockerコンテナ技術は、2013年にオープンソースの「Dockerエンジン」として公開され、翌年2014年には本番環境向けの商用版が発表されました。その後約10年の間に、Dockerは使いやすさと高い利便性から、IT業界で瞬く間に広く普及してきました。これからもその人気は高まっていくでしょう。</p>
<p>しかしその一方で、いまだに「Dockerとは何ですか」という声もよく耳にします。この記事では、Docker環境の導入を検討中で、Dockerにまだ不慣れなデベロッパーやプログラマーの皆様を対象に、Dockerの基本を解説します。Dockerに触れたことのない初心者向けの「Docker超入門編」です。</p>
<h2>目次</h2>
<ol>
<li>
<p>Dockerとは：超入門編</p>
</li>
<li>
<p>Dockerの目的</p>
<ul>
<li>Dockerとは</li>
<li>Dockerでできること</li>
<li>Dockerイメージとは</li>
<li>Dockerコンテナとは</li>
<li>Dockerfileとは</li>
<li>Dockerはなぜ重要なのか</li>
</ul>
</li>
<li>
<p>Dockerの主な機能</p>
<ul>
<li>Dockerの特徴</li>
<li>Docker Composeとは</li>
</ul>
</li>
<li>
<p>アプリケーションのデプロイにおけるDockerのメリット</p>
<ul>
<li>開発環境と本番環境のシームレス化</li>
<li>起動の軽量化・処理速度の高速化</li>
<li>バージョン管理のしやすさ</li>
<li>優れたスケーラビリティ</li>
</ul>
</li>
<li>
<p>Dockerのデメリット</p>
<ul>
<li>ひとつのOSを使わなければならない</li>
<li>大規模開発時のオーバーヘッド</li>
<li>技能習得に時間がかかる</li>
<li>セキュリティに脆弱性が生じることもある</li>
<li>コンテナ間での連携が難しい</li>
</ul>
</li>
<li>
<p>GitLabはDockerが抱える課題をどのように解決するのか</p>
</li>
<li>
<p>GitLabのDevSecOpsにおけるDockerの役割</p>
</li>
<li>
<p>まとめ</p>
</li>
<li>
<p>FAQ（よくある質問）</p>
</li>
</ol>
<h2>Dockerの目的</h2>
<p>はじめに、Dockerとはどういったもので、何ができて、どうして便利なのか、なぜ重要なのか、Dockerの目的に着目しながらその概念をまとめていきます。</p>
<h3>Dockerとは</h3>
<p>Dockerは、Linuxのコンテナ技術を用いた軽量なソフトウェアコンテナプラットフォームです。アプリケーションの開発、出荷、実行を簡易化するために設計されました。Dockerを使えば、すべての依存関係と一緒にアプリケーションをパッケージ化できるため、依存関係を一つひとつ手動でインストールする必要がなくなり、一貫性のあるコード実行が可能になります。</p>
<p>Dockerを使えばアプリケーションの実行環境を標準化でき、環境の違いによる問題を減らすことで開発から本番環境へのデプロイ時間を大幅に短縮できます。</p>
<p>Linuxには以前からコンテナ仮想化という技術がありました。この技術を使うと、プログラムを開発・実行環境から隔離することにより、複数のプログラムを素早く実行できます。ただし、この従来型の仮想化技術は、仮想環境を構築するためにホストとなるOS（オペレーティングシステム）に依存する必要がありました。Dockerはこのコンテナ仮想化技術をOSに関係なく簡単に扱えるようにしたソフトウェアといえます。</p>
<p>Dockerの基本概念はイメージとコンテナです。Dockerイメージは、読み取り専用のテンプレートであり、コンテナを作成するための指示が記述されています。たとえば、コンテナで実行するアプリケーションとその依存関係、環境変数、ファイルシステムなどがこれに含まれます。</p>
<h3>Dockerでできること</h3>
<p>Dockerを使うと、1台のマシン中に複数のコンテナ（仮想環境）をビルドできるため、いくつかの開発環境に対応することができます。つまり、1台のサーバー上で複数のアプリケーションを効率的に動かすことができるのです。アプリケーションの開発環境をDockerで構築すれば、たとえば開発環境（Windows）で動いていたアプリケーションがLinux上で起動しない、といった問題は発生しません。Dockerで構築した環境は、他のデベロッパーとクラウド上で簡単に共有できるため、開発作業がスムーズに進められます。</p>
<h3>Dockerイメージとは</h3>
<p>Dockerイメージは、アプリケーションを実行するのに必要なソースコードと必要な依存関係をパッケージ化したものです。Dockerコンテナを実行する際には、このDockerイメージが必要です。</p>
<p>Dockerイメージは、コンテナイメージを構成する複数のファイルに、<code>Dockerfile</code> を合わせてビルドします。つまり、Dockerイメージは、手作業で書くのではなく、コマンドを使って作成します。</p>
<p>そのため、Dockerイメージは単一のファイルではなく、Dockerコンテナの実行に必要なパッケージ（ファイルやメタデータの集合体）であることを理解することが重要です。</p>
<h3>Dockerコンテナとは</h3>
<p>Linuxのコンテナは、アプリケーションを内包し、必要なライブラリや依存関係、ファイルが含まれています。</p>
<p>一方、Dockerコンテナは、Dockerイメージの実行可能なインスタンスです。これはDockerイメージから生成され、アプリケーションを実行するためのランタイム環境です。ただし、ハイパーバイザーを使用する従来の仮想化とは違い、DockerのコンテナはホストOS（オペレーティングシステム）のカーネルで実行されます。Dockerイメージ内には、個別のOSはありません。</p>
<p>Dockerイメージは環境のスナップショットであり、コンテナはソフトウェアを実行する環境といえます。</p>
<h3>Dockerfileとは</h3>
<p><code>Dockerfile</code>は文字情報を主体とするファイルで、ファイルの拡張子はありません。<code>Dockerfile</code>には、アプリケーションの構築から実行までのプロセスに必要なコマンドが記述されています。どのファイルをどこから取得して、どんな処理を行ない、Dockerイメージに含めるのかなどを記述します。</p>
<p><code>Dockerfile</code>は、Dockerイメージを作成するためのテキストファイルです。コンテナイメージをビルドする場合も、コンテナのビルド手順を<code>Dockerfile</code>で定義する必要があります。この<code>Dockerfile</code>には、命令のスクリプトが含まれており、Dockerはコンテナイメージをビルドする際にこのスクリプトを使用します。</p>
<h3>Dockerはなぜ重要なのか</h3>
<p>Dockerは、コンテナに関する既存のコンピューティングの概念、とりわけLinuxの「cgroups」や「namespaces」、「overlayfs」などの技術を活用しています。これは、アプリケーションの依存関係をサーバーやネットワークなどのインフラストラクチャから隔離したいという、デベロッパーやシステムオペレーターのニーズに応えるものでした。</p>
<p>Dockerを使うと、1台のサーバー上でさまざまなアプリケーションを簡単に仮想化・実行できるようになります。さらには、ローカルマシンに依存しない開発環境を実現でき（開発環境の統一）、本番環境に近い環境でのシミュレーションが可能になり、アプリケーションの依存関係も管理できます。加えて、ビルド、テスト、デプロイまでの各プロセスを一貫して行なうことができます。</p>
<h2>Dockerの主な機能</h2>
<p>Dockerは、Linuxのコンテナ技術を使用しています。Dockerコンテナはよく仮想マシンと比較されます。</p>
<p>仮想マシンでは、ホストマシン上でハイパーバイザーを利用してゲストOSを動かし、さらにその上でミドルウェアやライブラリ、さらにその上にアプリなどを実行します。</p>
<p>それに対し、コンテナはホストマシンのカーネルを利用し、プロセスやユーザーなどを隔離します。そのため、非常に軽量で、まるで別のマシンが動いているかのように動作します。その結果、アプリなどを高速に起動、停止することが可能です。</p>
<p>Dockerは、次の4つの構成要素から成り立っています。</p>
<ul>
<li><strong>Dockerイメージ：</strong> アプリケーション実行に必要なソースコード、アプリと依存関係のパッケージ</li>
<li><strong>Dockerコンテナ：</strong> アプリケーションを実行するランタイム環境</li>
<li><strong>Docker Hub：</strong> クラウド上のレジストリサービス。アプリケーションやサービスコンテナのビルドと配信を行なう</li>
<li><strong>Dockerfile：</strong> Dockerイメージを作成するために実行するコマンドライン命令を含むテキストファイル</li>
</ul>
<h3>Dockerの特徴</h3>
<p>Dockerには、次のような特徴があります。</p>
<ul>
<li><strong>軽量かつ高速：</strong> 1つのOSで複数のコンテナを管理でき、仮想マシンより軽量で高速に立ち上げることが可能。</li>
<li><strong>環境の一貫性が保持でき再現性がアップ：</strong> Dockerコンテナは異なるプラットフォームでも一貫して動作するため、ローカル、クラウド、ハイブリッド環境への移行が簡単にできる。
移植性が高い －クラウドシステムとの親和性が高く、主要なクラウドプロバイダーはDockerコンテナの実行をサポートしている。</li>
<li><strong>サンドボックスの提供：</strong> セキュリティ対策やソフトウェア開発において、隔離された仮想環境でプログラムを実行・検証できる。このため、ホストマシンの環境を守ることができる。</li>
<li><strong>IaC（インフラストラクチャのコード化）を使用して、インフラをコード化：</strong> Dockerfileによりミドルウェアのインストールや環境設定をコード化して管理できる。</li>
</ul>
<h3>Docker Composeとは</h3>
<p>Docker Composeは、複数のDockerコンテナを一元管理する、 Dockerアプリケーションのためのツールです。YAMLファイルを使用してアプリケーションのサービスを設定します。単一のコマンドで複数のサービスをまとめて生成したり、起動・停止したりすることができます。</p>
<p>Docker Composeのコマンド例は次のとおりです。</p>
<ul>
<li><strong><code>docker-compose up</code>：</strong> サービス用のコンテナを構築、作成、起動、アタッチします。リンクされているサービスがまだ起動していない場合は、それらも起動します。</li>
<li><strong><code>docker-compose ps</code>：</strong> Docker Composeで管理されている稼働中のサービスを一覧表示します。</li>
<li><strong><code>docker-compose build</code>：</strong> Docker Composeファイルで定義されているサービスをビルド（構築）します。</li>
</ul>
<h2>アプリケーションのデプロイにおけるDockerのメリット</h2>
<p>アプリケーションのデプロイにおけるDockerのメリットは次のとおりです。</p>
<h3>開発環境と本番環境のシームレス化</h3>
<p>コンテナ技術の利用を開発環境と本番環境で統一することで、環境の違いにより起こる問題を減らすことができます。その結果、デベロッパーと運用チームとの連携がスムーズに行われ、チーム間で発生していた問題も最小限に抑えられます。</p>
<h3>起動の軽量化・処理速度の高速化</h3>
<p>Dockerのコンテナ技術は従来の仮想環境より軽く、アプリを瞬時に起動できます。これは、CPUやメモリなどのコンピュートリソースを必要最低限しか使用しないためです。起動速度が上がることで、開発にも集中できます。</p>
<h3>バージョン管理のしやすさ</h3>
<p>Dockerでは、GitLabなどのソースコードのバージョン管理ツールを使用できるため、バージョン管理の可視化が進むだけでなく、ロールバックやアップデートも簡単に行なえるようになります。</p>
<h3>優れたスケーラビリティ</h3>
<p>コンテナは軽量で拡張性に優れています。必要に応じて簡単に増減できます。これにより、アプリケーションの拡張やスケーリングを迅速に行なえるため、変わりゆく状況にも柔軟に対応できます。</p>
<h2>Dockerのデメリット</h2>
<p>Dockerにはさまざまなメリットがありますが、いくつかデメリットも存在します。以下にデメリットを挙げます。</p>
<h3>1つのOSを使わなければならない</h3>
<p>Dockerは1つのOS上で複数のコンテナを作成します。これにより起動速度や処理速度の面でメリットがありますが、同時にデメリットになることもあります。たとえば、異なるOS環境で検証をしたい場合には、別のマシンや仮想マシンを準備する必要が生じます。</p>
<h3>大規模開発時のオーバーヘッド</h3>
<p>Docker自体は軽量ですが、大規模システムに拡張する場合には、Dockerの管理に伴う負荷が発生します。Dockerは1台のサーバーで多数のコンテナを実行できますが、その反面、管理やオーケストレーションが必要になり、その処理のためにオーバーヘッドが生じる場合があります。Dockerだけですべての管理を行なうのが困難になることもあります。</p>
<h3>技能習得に時間がかかる</h3>
<p>Dockerは他の仮想マシンと異なる手法で仮想環境を構築します。つまり、デベロッパーは新しいコンセプトをすべてゼロから習得しなければならず、それには時間がかかります。Dockerの動作原理をきちんと理解せずに使用すると、あとでトラブルや問題が発生することもあります。Dockerについてしっかりと学習してから運用に取り組むようにしましょう。</p>
<h3>セキュリティに脆弱性が生じることもある</h3>
<p>Dockerはコンテナ型アーキテクチャです。1台のマシン上で複数のコンテナが動作するため、このことに起因する脆弱性には注意が必要です。たとえば、複数のコンテナがホストOSのリソースやカーネルを共有しているため、一つのコンテナに脆弱性があった場合、全体にその影響が及ぶ可能性があります。</p>
<h3>コンテナ間での連携が難しい</h3>
<p>複数のコンテナ間での連携を検討している場合、各種設定が難しいために、運用時に問題が発生することがあります。たとえば、アプリとデータベースを別のコンテナで作成し、一緒に運用したい場合には、同一ホスト内で通信設定をしなければなりません。ポートやソケットを開放する場合にはセキュリティ面でリスクが生じます。それを避けるために設定を複雑にしてしまうと、今度は運用面で問題が起きる恐れがあります。コンテナを連携させる際は、設計段階から十分に検討することが重要です。</p>
<h2>GitLabはDockerが抱える課題をどのように解決するのか</h2>
<p>Dockerコンテナ内にGitLabをインストールすることができます。<a href="https://about.gitlab.com/ja-jp/platform/">GitLab</a>は、Git「分散型バージョン管理システム」を主体としたDevSecOpsプラットフォームです。ソフトウェア開発ライフサイクル全体に対応する単一のプラットフォームで、GItLabを活用することで高品質なソフトウェアの迅速なデリバリーを実現できます。</p>
<p>Dockerコンテナ内にGitLabをインストールすると、GitLabインスタンスにアクセスできるようになります。Dockerコンテナへの<a href="https://about.gitlab.com/ja-jp/install/">GitLab Dockerイメージのインストールは公式にサポート</a>されています。</p>
<p>Dockerが抱えるいくつかの問題のうち、特にセキュリティについては、GitLabのDevSecOps（開発、セキュリティ、運用）を活用して対処することができます。GitLabのDevSecOpsでは、<a href="https://about.gitlab.com/ja-jp/topics/ci-cd/shift-left-devops/">シフトレフト</a>を重視しており、セキュリティ対策を開発サイクルの早い段階に組み込むことにより、コンテナイメージの持つセキュリティの問題の早期発見と対応を図っています。継続的インテグレーションによってこのシフトレフトのコンセプトを実践することで、セキュリティ対応にかかっていたコストを削減できます。</p>
<p>DevSecOpsにおいて重要なCI/CDを実現するためには、自動化が欠かせません。GitLabではパイプラインがCI/CDの命令をまとめています。そして、その指示に従いプロセスの自動化を実現するときの基盤になっているのが<a href="https://docs.gitlab.com/runner/">GitLab Runner</a>（英語）です。GitLab Runnerはセキュリティのシフトレフトを実現する上で重要な役割を果たしています。</p>
<p>GitLab Runnerはセキュリティスキャンやテストを指定したタイミングで自動で実行してくれます。また、レポート作成ジョブを実行して、ダッシュボードに最新情報を表示することも可能です。</p>
<h2>GitLabのDevSecOpsにおけるDockerの役割</h2>
<p>GitLabを活用したDevSecOpsインテグレーションにおいても、Dockerは非常に大切な役割を担っています。</p>
<h3>CI/CDジョブのコンテナ化</h3>
<p>GitLab CI/CDでは、CI/CDパイプラインでDockerコンテナを使用することで、次のようなことが可能になります。</p>
<ul>
<li><strong>一貫性：</strong> CI/CDジョブはコンテナ内で実行されるため、依存関係や環境の違いによるエラーが防げます。</li>
<li><strong>スケーラビリティ：</strong> コンテナは軽量かつ迅速に起動でき、大規模なパイプラインでも効率的に実行できます。</li>
<li><strong>環境の柔軟性：</strong> ジョブごとに異なるDockerイメージを指定できるため、必要な環境を簡単に準備できます。</li>
</ul>
<p>GitLab RunnerのDockerイメージは、UbuntuまたはAlpine Linuxをベースにしています。Dockerイメージは標準の<code>gitlab-runner</code>コマンドを内包しており、ホストに直接GitLab Runnerをインストールしたかのように動作します。</p>
<h3>セキュリティスキャンの自動化</h3>
<p>セキュリティはDevSecOpsでの重要な要素であり、Dockerはこれをサポートします。</p>
<ul>
<li><strong>コンテナイメージのセキュリティスキャン：</strong> GitLabには、CI/CDパイプラインでDockerイメージをスキャンする機能があります。このスキャンにより脆弱性がチェックされ、イメージ内の依存関係やコードの安全性を評価できます。</li>
<li><strong>コンテナ脆弱性スキャンの自動化：</strong> GitLabにはTrivyやAquaなどのセキュリティツールを統合できます。DockerイメージのOSやアプリケーションが最新であるか、既知の脆弱性がないかをチェックします。</li>
</ul>
<h3>IaC（インフラストラクチャのコード化）と環境管理</h3>
<ul>
<li><strong>再現性：</strong> DockerをGitLabのCI/CDジョブ内で使用することで、開発環境と本番環境の整合性を保つことできます。</li>
<li><strong>ステージングやテスト環境を即時に構築：</strong> Docker ComposeやKubernetesと連携することで、特定のブランチやマージリクエストごとに分離された環境をGitLabで作成できます。これにより、テストやセキュリティスキャンを効率的に実行できます。</li>
</ul>
<h3>デプロイの効率化</h3>
<p>GitLabは、Dockerを使用する以下のデプロイパターンをサポートしています。</p>
<ul>
<li><strong>Dockerイメージのビルドとプッシュ：</strong> アプリをコンテナイメージとしてビルドして、GitLabのContainer Registryや他のDockerレジストリにプッシュします。</li>
<li><strong>継続的デリバリー：</strong> Dockerイメージを使ってコンテナオーケストレーションツールにデプロイすることで、迅速で安全なリリースが可能になります。</li>
</ul>
<h3>マイクロサービスアーキテクチャのサポート</h3>
<p>GitLabとDockerを組み合わせることで、マイクロサービスアーキテクチャを簡単に構築できます。マイクロサービスは別々のDockerコンテナとして実行します。GitLab CI/CDパイプラインを使うと、以下のことを管理できます。</p>
<ul>
<li>サービス間の依存関係の設定</li>
<li>個別のセキュリティスキャン</li>
<li>バージョン管理（ロールバックが容易になります）</li>
</ul>
<h2>まとめ</h2>
<p>2013年の公表以来、Dockerは瞬く間にIT業界に広く普及しました。本記事では、Dockerの基本概念、基本技術、Dockerを使って何ができるのか、なぜDockerが重要なのか、Dockerを理解上でよく目にする用語などについて紹介してきました。</p>
<p>Dockerを使う場合には、DevSecOpsにとって大切なCI/CDを実現するためにも、GitLab CI/CDなどの自動化ツールの導入をおすすめします。GitLab のCI/CDパイプラインでDockerコンテナを使用することで、開発における一貫性の維持、スケーラビリティの実現、柔軟な環境の準備が可能になります。</p>
<h2>FAQ（よくある質問）</h2>
<h3>Dockerで何ができるのか？</h3>
<p>Dockerコンテナは、軽量でスタンドアロンの仮想化技術であり、アプリケーションコード、その依存関係、ライブラリをすべてパッケージ化します。Dockerを使うと、1台のマシン上に複数のコンテナ（仮想環境）を構築でき、開発環境や検証環境の統一が図れます。詳しくは、記事の本文をご覧ください。</p>
<h3>Dockerは何に使うのか？</h3>
<p>Dockerは、デベロッパーがアプリケーションとその依存関係をシステムから切り離したいとき使用します。コンテナにはアプリケーションとその依存関係がまとめられており、軽量な実行環境を提供します。詳しくは、記事の本文をご覧ください。</p>
<h3>Dockerコンテナとは何ですか？</h3>
<p>Dockerイメージが実行時にコンテナになります。Dockerコンテナは、アプリケーションを実行するためのランタイム環境です。Dockerコンテナに関する詳細は、記事の本文をご覧ください。</p>
<p><em>監修：川瀬 洋平 <a href="https://gitlab.com/ykawase">@ykawase</a></em></p>
<p><em>（GitLab合同会社 カスタマーサクセス本部 シニアカスタマーサクセスマネージャー）</em></p>
]]></content>
        <author>
            <name>GitLab Team</name>
            <uri>https://about.gitlab.com/blog/authors/gitlab-team</uri>
        </author>
        <published>2025-06-18T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[Git 2.50.0の新機能]]></title>
        <id>https://about.gitlab.com/ja-jp/blog/what-s-new-in-git-2-50-0/</id>
        <link href="https://about.gitlab.com/ja-jp/blog/what-s-new-in-git-2-50-0/"/>
        <updated>2025-06-16T00:00:00.000Z</updated>
        <content type="html"><![CDATA[<p>Gitプロジェクトは最近、<a href="https://lore.kernel.org/git/xmqq1prj1umb.fsf@gitster.g/T/#u">Gitバージョン2.50.0</a>をリリースしました。今回のリリースの注目すべきポイントをいくつかご紹介します。これには、GitLabのGitチームやより広範なGitコミュニティからのコントリビュートも含まれています。</p>
<h2>新しいgit-diff-pairs(1)コマンド</h2>
<p>差分は、すべてのコードレビューの中心となるもので、2つのリビジョン間で行われた
すべての変更を表示します。GitLabでは、さまざまな場所で差分が表示されますが、最も
一般的なのはマージリクエストの<a href="https://docs.gitlab.com/user/project/merge_requests/changes/">「変更」タブ</a>です。
その裏側では、差分の生成に<a href="https://git-scm.com/docs/git-diff"><code>git-diff(1)</code></a>が
使われています。たとえば、以下のように使います。</p>
<pre><code class="language-shell">$ git diff HEAD~1 HEAD
</code></pre>
<p>このコマンドは、変更されたすべてのファイルの完全な差分を返します。ただし、リビジョン間で変更されたファイル数が非常に多い場合、スケーラビリティの課題が生じる可能性があります。GitLabのバックエンドでは、コマンドが自己設定されたタイムアウトに達してしまうこともあります。変更数が多い場合、
差分の計算をより小さく扱いやすい単位に分割できる方法があれば、より効果的です。</p>
<p>この課題を解決する1つの方法は、
<a href="https://git-scm.com/docs/git-diff-tree"><code>git-diff-tree(1)</code></a>を使って、
変更されたすべてのファイルに関する情報を取得することです。</p>
<pre><code class="language-shell">$ git diff-tree -r -M --abbrev HEAD~ HEAD
:100644 100644 c9adfed339 99acf81487 M      Documentation/RelNotes/2.50.0.adoc
:100755 100755 1047b8d11d 208e91a17f M      GIT-VERSION-GEN
</code></pre>
<p>Gitはこの出力を<a href="https://git-scm.com/docs/git-diff-tree#_raw_output_format">「raw」フォーマット</a>と呼んでいます。
簡単に言えば、出力の各行にはファイルのペアと、
それらの間で何が変更されたかを示すメタデータが表示されます。大規模な変更に対して
「パッチ」形式の出力を生成する方法と比べて、
この処理は比較的高速な上、すべての変更の概要を把握できます。また、このコマンドでは、<code>-M</code>フラグを付けることでリネーム検出を有効にし、変更がファイルのリネームによるものかどうかを判別することもできます。</p>
<p>この情報を使えば、<code>git-diff(1)</code>を使って各ファイルペアの差分を
個別にコンピューティングすることができます。たとえば、以下のようにblob IDを
直接指定することも可能です。</p>
<pre><code class="language-shell">$ git diff 1047b8d11de767d290170979a9a20de1f5692e26 208e91a17f04558ca66bc19d73457ca64d5385f
</code></pre>
<p>この処理は、各ファイルペアごとに繰り返すことができますが、
個別のファイル差分ごとにGitプロセスを立ち上げるのは、あまり効率的ではありません。
さらに、blob IDを使った場合、変更ステータスやファイルモードといった、
親ツリーオブジェクトに格納されているコンテキスト情報が差分から失われてしまいます。
本当に必要なのは、「raw」なファイルペア情報を元に、
対応するパッチ出力を生成する仕組みです。</p>
<p>バージョン2.50から、Gitに新しい組み込みコマンド
<a href="https://git-scm.com/docs/git-diff-pairs"><code>git-diff-pairs(1)</code></a>が追加されました。このコマンドは、
標準入力（stdin）から「raw」形式のファイルペア情報を受け取り、どのパッチを出力すべきかを正確に判断します。以下の例は、
このコマンドの使用方法を示しています。</p>
<pre><code class="language-shell">$ git diff-tree -r -z -M HEAD~ HEAD | git diff-pairs -z
</code></pre>
<p>このように使用した場合、出力結果は<code>git-diff(1)</code>を使った場合と同じになります。
パッチ出力を生成する専用コマンドを分けることで、
<code>git-diff-tree(1)</code>から得られた「raw」出力を、より小さなファイルペアのバッチに分割し、それぞれを別々の
<code>git-diff-pairs(1)</code>プロセスにフィードすることができます。これにより、差分を一度にすべてコンピューティングする必要がなくなるため、
先に挙げたスケーラビリティの課題が解決されます。今後のGitLabリリースでは、
この仕組みの応用により、
特に変更量が多い場合における差分生成のパフォーマンス向上が
期待されます。この変更についての詳細は、該当する
<a href="https://lore.kernel.org/git/20250228213346.1335224-1-jltobler@gmail.com/">メーリングリストのスレッド</a>をご覧ください。</p>
<p><em>このプロジェクトは<a href="https://gitlab.com/justintobler">Justin Tobler</a>が主導しました。</em></p>
<h2>参照更新の一括処理</h2>
<p>Gitには、参照を更新するための<a href="https://git-scm.com/docs/git-update-ref"><code>git-update-ref(1)</code></a>
コマンドが用意されています。このコマンドを<code>--stdin</code>フラグとともに使用すると、
複数の参照を1つのトランザクションとしてまとめて更新できます。
これを行うには、各参照更新の指示を標準入力（stdin）で指定します。
この方法で参照を一括更新すると、アトミックな動作も実現できます。つまり、1つでも参照の更新に失敗した場合、
トランザクション全体が中断され、
どの参照も更新されません。以下は、この動作を示す例です。</p>
<pre><code class="language-shell"># 3つの空のコミットと「foo」という名前のブランチを持つリポジトリを作成する
$ git init
$ git commit --allow-empty -m 1
$ git commit --allow-empty -m 2
$ git commit --allow-empty -m 3
$ git branch foo

# コミットIDを出力する
$ git rev-list HEAD
cf469bdf5436ea1ded57670b5f5a0797f72f1afc
5a74cd330f04b96ce0666af89682d4d7580c354c
5a6b339a8ebffde8c0590553045403dbda831518

# トランザクションで新しい参照を作成し、既存の参照を更新しようとします。
# 指定された古いオブジェクトIDが一致しないため、更新は失敗することが予想されます。
$ git update-ref --stdin &lt;&lt;EOF
&gt; create refs/heads/bar cf469bdf5436ea1ded57670b5f5a0797f72f1afc
&gt; update refs/heads/foo 5a6b339a8ebffde8c0590553045403dbda831518 5a74cd330f04b96ce0666af89682d4d7580c354c
&gt; EOF
fatal: cannot lock ref 'refs/heads/foo': is at cf469bdf5436ea1ded57670b5f5a0797f72f1afc but expected 5a74cd330f04b96ce0666af89682d4d7580c354c

# 「bar」リファレンスは作成されませんでした。
$ git switch bar
fatal: invalid reference: bar
</code></pre>
<p>多くの参照を個別に更新する場合と比べて、一括で更新するほうがはるかに効率的です。
この方法は基本的にうまく機能しますが、
一括更新による効率面のメリットを優先するために、
リクエストされた参照更新の一部が失敗することを許容したい場合も
あります。</p>
<p>今回のリリースで、<code>git-update-ref(1)</code>に新しく<code>--batch-updates</code>オプションが追加されました。
このオプションを使用すると、1つ以上の参照更新が失敗しても、処理を続行できるようになります。
このモードでは、個々の失敗が次の形式で出力されます。</p>
<pre><code class="language-text">rejected SP (&lt;old-oid&gt; | &lt;old-target&gt;) SP (&lt;new-oid&gt; | &lt;new-target&gt;) SP &lt;rejection-reason&gt; LF
</code></pre>
<p>これにより、成功した参照の更新はそのまま進行しつつ、どの更新が拒否されたのか、
またその理由についての情報も得ることができます。前の例と同じリポジトリを
使った例は以下のとおりです。</p>
<pre><code class="language-shell"># トランザクションで新しい参照を作成し、既存の参照を更新しようとします。
$ git update-ref --stdin --batch-updates &lt;&lt;EOF
&gt; create refs/heads/bar cf469bdf5436ea1ded57670b5f5a0797f72f1afc
&gt; update refs/heads/foo 5a6b339a8ebffde8c0590553045403dbda831518 5a74cd330f04b96ce0666af89682d4d7580c354c
&gt; EOF
rejected refs/heads/foo 5a6b339a8ebffde8c0590553045403dbda831518 5a74cd330f04b96ce0666af89682d4d7580c354c incorrect old value provided

# 「foo」への更新が拒否されたにもかかわらず、「bar」参照が作成されました。
$ git switch bar
Switched to branch 'bar'
</code></pre>
<p>今回は<code>--batch-updates</code>オプションを使用したことで、
更新処理が失敗しても参照の作成は成功しました。この一連のパッチは、
<code>git-fetch(1)</code>や<code>git-receive-pack(1)</code>における今後の一括参照更新時の
パフォーマンス改善の基盤となります。詳細については、該当する
<a href="https://lore.kernel.org/git/20250408085120.614893-1-karthik.188@gmail.com/">メーリングリストのスレッド</a>をご覧ください。</p>
<p><em>このプロジェクトは、<a href="https://gitlab.com/knayakgl">Karthik Nayak</a>が主導しました。</em></p>
<h2>git-cat-file(1)の新しいフィルタオプション</h2>
<p><a href="https://git-scm.com/docs/git-cat-file"><code>git-cat-file(1)</code></a>を使うと、
リポジトリ内に含まれるすべてのオブジェクトの情報を
<code>--batch–all-objects</code>オプションで出力できます。たとえば、以下のように実行します。</p>
<pre><code class="language-shell"># シンプルなリポジトリを設定します。
$ git init
$ echo foo &gt;foo
$ git add foo
$ git commit -m init

# 到達不能なオブジェクトを作成します。
$ git commit --amend --no-edit

# git-cat-file(1)を使用して、到達不能なオブジェクトを含むすべてのオブジェクトに関する情報を出力します。
$ git cat-file --batch-all-objects --batch-check='%(objecttype) %(objectname)'
commit 0b07e71d14897f218f23d9a6e39605b466454ece
tree 205f6b799e7d5c2524468ca006a0131aa57ecce7
blob 257cc5642cb1a054f08cc83f2d943e56fd3ebe99
commit c999f781fd7214b3caab82f560ffd079ddad0115
</code></pre>
<p>状況によっては、リポジトリ内のすべてのオブジェクトを検索し、
特定の属性に基づいて一部のオブジェクトだけを出力したい場合があります。
たとえば、コミットオブジェクトだけを表示したいときは、
<code>grep(1)</code>を使って以下のように実行できます。</p>
<pre><code class="language-shell">$ git cat-file --batch-all-objects --batch-check='%(objecttype) %(objectname)' | grep ^commit
commit 0b07e71d14897f218f23d9a6e39605b466454ece
commit c999f781fd7214b3caab82f560ffd079ddad0115
</code></pre>
<p>この方法でも目的は達成できますが、出力のフィルタリングには欠点があります。
それは、<code>git-cat-file(1)</code>が
ユーザーが関心を持っていないオブジェクトも含め、リポジトリ内のすべてのオブジェクトをたどらなければならない点です。これはかなり非効率です。</p>
<p>今回のリリースでは、<code>git-cat-file(1)</code>に<code>--filter</code>オプションが追加され、
指定した条件に一致するオブジェクトだけを表示できるようになりました。これは<code>git-rev-list(1)</code>にある同名のオプションと似ていますが、
対応しているフィルターの種類はその一部に限られています。
対応しているフィルターは<code>blob:none</code>、<code>blob:limit=</code>および
<code>object:type=</code>です。先ほどの例と同様に、オブジェクトはGitを使用して直接
種類でフィルタリングできます。</p>
<pre><code class="language-shell">$ git cat-file --batch-all-objects --batch-check='%(objecttype) %(objectname)' --filter='object:type=commit'
commit 0b07e71d14897f218f23d9a6e39605b466454ece
commit c999f781fd7214b3caab82f560ffd079ddad0115
</code></pre>
<p>Gitに処理を任せられるのは便利なだけでなく、オブジェクト数の多い大規模なリポジトリにおいては
効率面のメリットも期待できます。
リポジトリにビットマップインデックスがある場合、
Gitが特定の種類のオブジェクトを効率的に検索できるようになり、パックファイル全体をスキャンする必要がなくなるため、
処理速度が大幅に向上します。
<a href="https://github.com/chromium/chromium.git">Chromiumリポジトリ</a>で行われた
ベンチマークでは、こうした最適化による大きな改善が確認されています。</p>
<pre><code class="language-text">Benchmark 1: git cat-file --batch-check --batch-all-objects --unordered --buffer --no-filter Time (mean ± σ):     82.806 s ±  6.363 s    [User: 30.956 s, System: 8.264 s] Range (min … max):   73.936 s … 89.690 s    10 runs
Benchmark 2: git cat-file --batch-check --batch-all-objects --unordered --buffer --filter=object:type=tag Time (mean ± σ):      20.8 ms ±   1.3 ms    [User: 6.1 ms, System: 14.5 ms] Range (min … max):    18.2 ms …  23.6 ms    127 runs
Benchmark 3: git cat-file --batch-check --batch-all-objects --unordered --buffer --filter=object:type=commit Time (mean ± σ):      1.551 s ±  0.008 s    [User: 1.401 s, System: 0.147 s] Range (min … max):    1.541 s …  1.566 s    10 runs
Benchmark 4: git cat-file --batch-check --batch-all-objects --unordered --buffer --filter=object:type=tree Time (mean ± σ):     11.169 s ±  0.046 s    [User: 10.076 s, System: 1.063 s] Range (min … max):   11.114 s … 11.245 s    10 runs
Benchmark 5: git cat-file --batch-check --batch-all-objects --unordered --buffer --filter=object:type=blob Time (mean ± σ):     67.342 s ±  3.368 s    [User: 20.318 s, System: 7.787 s] Range (min … max):   62.836 s … 73.618 s    10 runs
Benchmark 6: git cat-file --batch-check --batch-all-objects --unordered --buffer --filter=blob:none Time (mean ± σ):     13.032 s ±  0.072 s    [User: 11.638 s, System: 1.368 s] Range (min … max):   12.960 s … 13.199 s    10 runs
Summary git cat-file --batch-check --batch-all-objects --unordered --buffer --filter=object:type=tag 74.75 ± 4.61 times faster than git cat-file --batch-check --batch-all-objects --unordered --buffer --filter=object:type=commit 538.17 ± 33.17 times faster than git cat-file --batch-check --batch-all-objects --unordered --buffer --filter=object:type=tree 627.98 ± 38.77 times faster than git cat-file --batch-check --batch-all-objects --unordered --buffer --filter=blob:none 3244.93 ± 257.23 times faster than git cat-file --batch-check --batch-all-objects --unordered --buffer --filter=object:type=blob 3990.07 ± 392.72 times faster than git cat-file --batch-check --batch-all-objects --unordered --buffer --no-filter ```

興味深いことに、これらの結果からは、処理時間がパックファイル内の総オブジェクト数ではなく、
指定された種類のオブジェクト数に比例して増減することが示されています。
元のメーリングリストのスレッドは、
[こちら](https://lore.kernel.org/git/20250221-pks-cat-file-object-type-filter-v1-0-0852530888e2@pks.im/)でご覧いただけます。

_このプロジェクトは[Patrick Steinhardt](https://gitlab.com/pks-gitlab)が主導しました。_

## バンドル生成時のパフォーマンスが向上

Gitには、指定した参照とそれに関連する到達可能なオブジェクトを含むリポジトリのアーカイブを生成する機能があります。
具体的には、
[`git-bundle(1)`](https://git-scm.com/docs/git-bundle)コマンドを使用します。この操作は、
GitLabがリポジトリのバックアップを作成する際や、
[バンドルURI](https://git-scm.com/docs/bundle-uri)メカニズムの一部としても使用されます。

何百万もの参照を含む大規模なリポジトリでは、
この操作に数時間から数日かかることもあります。たとえば、GitLabのメインリポジトリ
（[gitlab-org/gitlab](https://gitlab.com/gitlab-org/gitlab)）では、
バックアップに約48時間を要していました。調査の結果、バンドルに重複した参照が含まれないようにチェックする処理において、
パフォーマンスのボトルネックが存在することが判明しました。
この実装では、すべての参照をイテレーションして比較するために入れ子の`for`loopが使われており、
時間計算量はO(N^2)となっていました。これは、
リポジトリ内の参照数が増えるほど、処理性能が大きく低下する構造です。

今回のリリースでは、この問題に対応し、
ネストされたloopをマップ型のデータ構造に置き換えることで、処理速度が大幅に向上しました。以下は、
10万件の参照を含むリポジトリでバンドルを作成した際のパフォーマンス改善を
示すベンチマーク結果です。

```text
Benchmark 1: bundle (refcount = 100000, revision = master) Time (mean ± σ):     14.653 s ±  0.203 s    [User: 13.940 s, System: 0.762 s] Range (min … max):   14.237 s … 14.920 s    10 runs
Benchmark 2: bundle (refcount = 100000, revision = HEAD) Time (mean ± σ):      2.394 s ±  0.023 s    [User: 1.684 s, System: 0.798 s] Range (min … max):    2.364 s …  2.425 s    10 runs
Summary bundle (refcount = 100000, revision = HEAD) ran 6.12 ± 0.10 times faster than bundle (refcount = 100000, revision = master) ```

詳しくは、
[GitLabがリポジトリのバックアップ時間を48時間から41分に短縮した方法](https://about.gitlab.com/blog/how-we-decreased-gitlab-repo-backup-times-from-48-hours-to-41-minutes/)を紹介するブログ記事をご覧ください。
元のメーリングリストのスレッドは
[こちら](https://lore.kernel.org/git/20250401-488-generating-bundles-with-many-references-has-non-linear-performance-v1-0-6d23b2d96557@gmail.com/)でご覧いただけます。

_このプロジェクトは[Karthik Nayak](https://gitlab.com/knayakgl)が主導しました。_

## バンドルURIのアンバンドルの改善

Gitの[バンドルURI](https://git-scm.com/docs/bundle-uri)メカニズムは、
フェッチするバンドルの場所をクライアントに提供することで、クローンやフェッチの速度を
向上させることを目的としています。クライアントがバンドルをダウンロードすると、
`refs/heads/*`以下の参照が、その関連オブジェクトとともにバンドルから
リポジトリにコピーされます。バンドルには`refs/tags/*`のように
`refs/heads/*`以外の参照も含まれていることがありますが、
これらはクローン時にバンドルURIを使用する場合、単に無視されていました。

Git 2.50ではこの制限が解除され、
ダウンロードされたバンドルに含まれる`refs/*`に一致するすべての参照がコピーされるようになりました。
この機能を実装した[Scott Chacon](https://github.com/schacon)さんは、
[gitlab-org/gitlab-foss](https://gitlab.com/gitlab-org/gitlab-foss)をクローンした際の
挙動の違いを紹介しています。

```shell
$ git-v2.49 clone --bundle-uri=gitlab-base.bundle https://gitlab.com/gitlab-org/gitlab-foss.git gl-2.49
Cloning into 'gl2.49'...
remote: Enumerating objects: 1092703, done.
remote: Counting objects: 100% (973405/973405), done.
remote: Compressing objects: 100% (385827/385827), done.
remote: Total 959773 (delta 710976), reused 766809 (delta 554276), pack-reused 0 (from 0)
Receiving objects: 100% (959773/959773), 366.94 MiB | 20.87 MiB/s, done.
Resolving deltas: 100% (710976/710976), completed with 9081 local objects.
Checking objects: 100% (4194304/4194304), done.
Checking connectivity: 959668, done.
Updating files: 100% (59972/59972), done.

$ git-v2.50 clone --bundle-uri=gitlab-base.bundle https://gitlab.com/gitlab-org/gitlab-foss.git gl-2.50
Cloning into 'gl-2.50'...
remote: Enumerating objects: 65538, done.
remote: Counting objects: 100% (56054/56054), done.
remote: Compressing objects: 100% (28950/28950), done.
remote: Total 43877 (delta 27401), reused 25170 (delta 13546), pack-reused 0 (from 0)
Receiving objects: 100% (43877/43877), 40.42 MiB | 22.27 MiB/s, done.
Resolving deltas: 100% (27401/27401), completed with 8564 local objects.
Updating files: 100% (59972/59972), done.
</code></pre>
<p>これらの結果を比較すると、Git 2.50はバンドル展開後に43,887個（40.42 MiB）のオブジェクトをフェッチしているのに対し、
Git 2.49は合計で959,773個（366.94 MiB）のオブジェクトをフェッチしています。
Git 2.50では、取得されるオブジェクト数が約95%、
データ量が約90%削減されており、クライアントとサーバーの双方にとってメリットがあります。
サーバー側ではクライアントに送信するデータ量が大幅に減り、
クライアント側でもダウンロードおよび展開するデータが少なくて済みます。Chaconさんの提供した例では、
これによって処理速度が25%向上しました。</p>
<p>詳細については、
該当する<a href="https://lore.kernel.org/git/pull.1897.git.git.1740489585344.gitgitgadget@gmail.com/">メーリングリストのスレッド</a>をご覧ください。</p>
<p><em>この一連のパッチは、<a href="https://github.com/schacon">Scott Chacon</a>さんによって提供されました。</em></p>
<h2>詳細はこちら</h2>
<p>本記事でご紹介したのは、最新リリースにおいてGitLabと広範なGitコミュニティによって行われた
コントリビュートのごく一部にすぎません。Gitプロジェクトの<a href="https://lore.kernel.org/git/xmqq1prj1umb.fsf@gitster.g/">公式リリースのお知らせ</a>では、
さらに詳しい情報をご覧になれます。また、
<a href="https://about.gitlab.com/blog/tags/git/">以前のGitリリースのブログ記事</a>もぜひご覧ください。GitLabチームメンバーによる過去の主なコントリビュートをご確認いただけます。</p>
]]></content>
        <author>
            <name>Justin Tobler</name>
            <uri>https://about.gitlab.com/blog/authors/justin-tobler</uri>
        </author>
        <published>2025-06-16T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[コードレビューをスピードアップ：AIによるフィードバックの実装]]></title>
        <id>https://about.gitlab.com/ja-jp/blog/speed-up-code-reviews-let-ai-handle-the-feedback-implementation/</id>
        <link href="https://about.gitlab.com/ja-jp/blog/speed-up-code-reviews-let-ai-handle-the-feedback-implementation/"/>
        <updated>2025-06-10T00:00:00.000Z</updated>
        <content type="html"><![CDATA[<p>マージリクエストを送信したと思ったら、コードレビューのコメントが次々と届き始める—そんな経験はありませんか？ラベルを更新したい、横並びレイアウトで表示したい、太字書式を適用したい、さらにはボタンの色を変更したい。気がつけば、新機能の開発とは直接関係のない、重要なフィードバックの対応に何時間も費やしていることがあるかもしれません。どんなデベロッパーでも経験したことのある、時間のかかる面倒なプロセスです。</p>
<p>こんなとき、「コードレビューのフィードバックを理解し、変更を自動的に実装してくれるAIアシスタントがあればいいのに」と考えたことはないでしょうか？<a href="https://about.gitlab.com/ja-jp/blog/gitlab-duo-with-amazon-q-agentic-ai-optimized-for-aws/">GitLab Duo with Amazon Q</a>はまさにその機能を備えており、開発ワークフローに革新をもたらします。GitLabのDevSecOpsプラットフォームとAmazon Qの高度なAI機能がシームレスに統合し、レビューコメントを読み取り、それをコード変更に直接反映するインテリジェントなアシスタントが誕生しました。フィードバック対応をAIに任せて面倒な手作業から解放され、プロジェクトの全体像に集中しましょう。</p>
<h2>GitLab Duo with Amazon Qの仕組み</h2>
<p>レビュアーのコメントが含まれるマージリクエストを開くと、コード全体にフィードバックが分散して表示されます。この記事の前半で紹介した例では、フォームのラベルを変更してほしいというリクエストや、フィールドを横並びに表示するよう求める提案、特定のテキストを太字にしてほしいというメモなどが寄せられていました。各コメントは、通常手動で処理する必要があるタスクを表しています。</p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1749673634/Blog/Content%20Images/1-show-comment.png" alt="マージリクエストに対するフィードバック"></p>
<p>GitLab Duo with Amazon Qなら、コメントに「/q dev」というクイックアクションを入力するだけで操作は完了します。これによりAmazon Qはすべてのフィードバックを分析し、自動的にコードの変更を開始します。AIエージェントは各コメントの内容を理解し、リクエストされた変更をコードベースで直接実装します。</p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1749673634/Blog/Content%20Images/2-invoke-q-dev.png" alt="/q dev関数がAmazon Qにフィードバックの分析を促す"></p>
<p>Amazon Qがフィードバックを処理すると、マージリクエストの「変更」タブにすべての更新内容が表示されます。すべての変更内容が明確に表示されるため、AIエージェントがフィードバックを正確に解釈し、それが実装されたかどうかを把握することが可能です。次に更新されたアプリケーションを実行し、フォームラベルの更新やフィールドの横並び表示、テキストの太字化、ボタンの青色変更など、すべての変更が正しく実装されているかを確認できます。</p>
<p>以下の動画で、コードレビューのフィードバックプロセスを実際にご覧ください。</p>
<p>&lt;!-- blank line --&gt;
&lt;figure class=&quot;video_container&quot;&gt; &lt;iframe src=&quot;https://www.youtube.com/embed/31E9X9BrK5s?si=ThFywR34V3Bfj1Z-&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;true&quot;&gt; &lt;/iframe&gt; &lt;/figure&gt;
&lt;!-- blank line --&gt;</p>
<p>コードレビューのフィードバックの処理はソフトウェア開発において必要な作業ですが、時間と手間がかかります。GitLab Duo with Amazon Qは、これまで手作業で行っていたプロセスを自動化されたワークフローへと進化させ、フィードバックの受け取りから変更実装までの時間を大幅に短縮します。こうした日常的な変更をAIに任せれば、デベロッパーは革新的な機能の構築や、複雑な問題の解決など、本当に重要なことに集中できるようになります。</p>
<p>GitLab Duo with Amazon Qの機能：</p>
<ul>
<li>手動によるフィードバック実装の時間を大幅に削減</li>
<li>コードレビューサイクルのスピードを加速</li>
<li>フィードバック対応への一貫性を確保</li>
<li>コメント確認とコード作成の頭の切り替え負担の軽減</li>
<li>デプロイ時間を合理化して、機能をより迅速に提供</li>
</ul>
<blockquote>
<h4>GitLab Duo with Amazon Qについて、詳しくは<a href="https://about.gitlab.com/ja-jp/events/aws-summits/">お近くで開催されるAWS Summit</a>にご参加いただくか、<a href="https://about.gitlab.com/ja-jp/partners/technology-partners/aws/">GitLab担当者にお問い合わせください</a>。</h4>
</blockquote>
<h2>GitLab Duo with Amazon Qのリソース</h2>
<ul>
<li><a href="https://about.gitlab.com/ja-jp/blog/gitlab-duo-with-amazon-q-agentic-ai-optimized-for-aws/">GitLab Duo with Amazon Q（AWS向けに最適化された自律型AI）の一般提供を開始</a></li>
<li><a href="https://about.gitlab.com/ja-jp/partners/technology-partners/aws/">GitLabとAWSのパートナーページ</a></li>
<li><a href="https://docs.gitlab.com/user/duo_amazon_q/">GitLab Duo with Amazon Qに関するドキュメント</a></li>
<li><a href="https://about.gitlab.com/ja-jp/topics/agentic-ai/">自律型AIとは？</a></li>
<li><a href="https://about.gitlab.com/ja-jp/blog/agentic-ai-guides-and-resources/">自律型AIに関するガイドとリソース</a></li>
</ul>
]]></content>
        <author>
            <name>Cesar Saavedra</name>
            <uri>https://about.gitlab.com/blog/authors/cesar-saavedra</uri>
        </author>
        <published>2025-06-10T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[🌞 6月のMonday Merge：GitLab 18登場！ ただのアップデートじゃない、その理由とは？]]></title>
        <id>https://about.gitlab.com/ja-jp/blog/monday-merge-2025-june-9/</id>
        <link href="https://about.gitlab.com/ja-jp/blog/monday-merge-2025-june-9/"/>
        <updated>2025-06-09T00:00:00.000Z</updated>
        <content type="html"><![CDATA[<p>みなさん、こんにちは！6月のMonday Mergeにようこそ。今回も最新情報をお届けします！</p>
<p>大規模アップデートや新しいAI機能、次のスプリントに役立つDevSecOpsインサイトが満載です。今月の注目ポイント？それは GitLab 18の正式リリースです。しかも今回から、PremiumおよびUltimateのすべてのお客様が、GitLab Duoの主要なAI機能を追加料金なしでご利用可能になりました。</p>
<p>それでは、さっそく見ていきましょう👇</p>
<h2>GitLab 18：GitLabにとっての小さな一歩、DevSecOpsにとっての大きな飛躍</h2>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1749687125/Blog/Content%20Images/image6.png" alt="gitlab 18"></p>
<p>GitLab 18.0のリリースでは、PremiumとUltimateプランにGitLab Duoが標準搭載され、AIネイティブなDevSecOpsの新たな時代が始まります。</p>
<h3>新機能ハイライト</h3>
<ul>
<li>Duoコード提案 &amp; GitLab Duo ChatがIDEで利用可能に：コードの記述から理解、リファクタリング、テストまでリアルタイムで支援します。</li>
<li>リポジトリX-Ray（Self-Hostedはベータ版）：リポジトリ構造とコードの健全性を可視化します。</li>
<li>GitLab Duoコードレビューの自動有効化：すべてのマージリクエストにAIレビューを適用。</li>
<li>プロンプトキャッシュ機能：AI応答の遅延を軽減し、スムーズなやり取りを実現。</li>
</ul>
<p>最新のグローバルDevSecOps調査では、デベロッパーがコード以外の作業に79％もの時間を費やしていることが明らかになりました。つまり、AIを“コード支援”のみに使っているだけでは、AIの真の力を活かしきれていません。GitLab 18では、ソフトウェア開発ライフサイクル全体にAIを組み込み、面倒な作業を減らして本質的なイノベーションに集中できる環境を提供します。</p>
<p>このリリースを可能にしたのは、世界中の素晴らしいコミュニティの力です。328件のコントリビュートにより支えられたGitLab 18は、まさに「使う人たちによって作られた」リリースです。</p>
<p>今月の注目コントリビューターは、Adfinis社CTOのMichael Hoferさん。GitLabのGeo機能やSecrets Managerの改善など、本当にたくさんの貢献をしてくださいました。オープンソースにかける想いと、周囲を巻き込む力に、私たちもたくさんの学びをもらっています。</p>
<p>👉 <a href="https://about.gitlab.com/ja-jp/blog/gitlab-18-0-release/">GitLab 18 リリースノート全文を読む</a></p>
<h2>事例のご紹介：Ignite by FORVIA HELLA</h2>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1749687125/Blog/Content%20Images/image3.png" alt="ignite"></p>
<p>ソフトウェアが自動車産業の中核となる今、<a href="https://www.linkedin.com/company/ignite-by-forvia-hella/">Ignite by FORVIA HELLA</a>は次世代車両開発のために、ベルリンを拠点とするソフトウェア・イノベーションハブ Ignite を立ち上げました。</p>
<p>CTOのFelix Kortmann氏はGitLab Duoについてこう語ります。</p>
<p>「Duoのインテリジェントなコード提案は、デベロッパーにとって日常の必需品です。チャット機能と組み合わせることで、即座のフィードバックと反復が可能になり、開発サイクルが短縮され、コードの安全性も向上しました。私たちのワークフローに、シームレスかつ強力に統合されています」</p>
<p>GitLab CI/CDとAI機能を組み合わせることで、Igniteは反復テストや品質チェックを自動化。コードがpushされた瞬間に自動処理が走り、早期の課題検出とスピーディーなデリバリーを実現しています。</p>
<h2>GitLab 18のローンチイベントがバーチャルで開催！しかもアジア時間に！さらに日本語字幕付き！</h2>
<p>2025年6月24日（火）13時より、GitLab 18の新機能を紹介するグローバルオンラインイベントを開催します。</p>
<h3>✨ イベント内容</h3>
<ul>
<li>GitLab 18の新機能を実演するライブデモ</li>
<li>GitLabのリーダーたち（Bill Staples、Sabrina Farmer、Josh Lemos、David DeSantoほか）によるインサイト共有</li>
<li>新ライブシリーズ「The Developer Show」の初公開： コーディングデモ、プロダクト解説、コミュニティのストーリーをお届け！</li>
</ul>
<p>ご都合の良い時間帯を選んでぜひご参加ください。質問も大歓迎です！</p>
<p>👉 <a href="https://about.gitlab.com/eighteen/">今すぐイベント登録する</a></p>
<h2>GitLab Duo、Premiumにも標準搭載</h2>
<p>GitLab 18のリリースにより、Duoの主要機能がPremiumおよびUltimateで標準提供されます。追加ツールも、追加費用も不要。IDE上でスマートな開発がすぐに始められます。</p>
<h3>機能ハイライト</h3>
<ul>
<li>GitLab Duoコード提案：20以上のプログラミング言語で高速なコード作成・リファクタリング</li>
<li>GitLab Duo Chat：コードの解説、テスト生成、トラブル対応を簡単に</li>
</ul>
<p>さらに、より高度な機能を求めるチームには、Ultimate限定だったDuo EnterpriseがPremiumでも利用可能に。<a href="https://docs.gitlab.com/user/gitlab_duo/use_cases/#root-cause-analysis-use-cases">GitLab Duo根本原因分析</a>、GitLab Duo Self-Hosted、AIコードレビューなどが利用できます。</p>
<p>👉 <a href="https://about.gitlab.com/ja-jp/blog/gitlab-premium-with-duo/">Duoを有効にして、開発を始めましょう</a></p>
<h2>AWS Summit で直接お会いしましょう！</h2>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1749687124/Blog/Content%20Images/image1.png" alt="aws summit"></p>
<p>東京をはじめ、世界各地のAWS SummitにGitLabも出展します！GitLabとAWSの連携機能を体験できるほか、安全なクラウドネイティブ開発の事例もご紹介。もちろん、ノベルティもご用意しています！</p>
<p>🗓️ 6月のイベント予定</p>
<ul>
<li>シドニー｜6月4日〜5日</li>
<li>ストックホルム｜6月4日</li>
<li>ハンブルク｜6月5日</li>
<li>マドリード｜6月11日</li>
<li>ミラノ｜6月18日</li>
<li>ムンバイ｜6月19日</li>
<li>東京｜6月25日〜26日</li>
</ul>
<p>👉 <a href="https://about.gitlab.com/ja-jp/events/aws-summits/">AWS Summit 2025でお会いできるのを楽しみにしています！</a></p>
<h2>今月のおすすめ読書</h2>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1749687125/Blog/Content%20Images/08_LinkedIn_Header_Images_April_What_We_re_Reading.png" alt="08 Header Images April What We’re Reading"></p>
<ul>
<li><strong>A Practical Roadmap for Adopting Vibe Coding（Vibe Coding 導入のための実践ロードマップ）</strong>
スピードを重視するあまり、品質や保守性が犠牲にならないよう、適切なガバナンスが必要だとGitLabの戦略VPであるEmilio Salvadorが解説。</li>
</ul>
<p>🔗 <a href="https://thenewstack.io/a-practical-roadmap-for-vibe-coding-adoption/">The New Stackの記事を読む（英語）</a></p>
<ul>
<li>
<p><strong>3 ways APAC engineering teams can operationalise AI（APACの開発チームがAIを活用する3つの方法）</strong><br>
APACのエンジニアリングチームによる日常業務へのAI統合、業務効率化、抵抗感の軽減、ビジネス価値の可視化についてGitLabのCTOであるSabrina Farmerが説明します。<br>
🔗 <a href="https://www.frontier-enterprise.com/3-ways-apac-engineering-teams-can-operationalise-ai/">Frontier Enterpriseの記事を読む</a></p>
</li>
<li>
<p><strong>Beyond Culture: Addressing Common Security Frustrations（文化を越えて：セキュリティ課題の根本に向き合うには）</strong><br>
文化づくりも重要ですが、開発とセキュリティの基本設計から見直す必要があります。GitLab最高情報セキュリティ責任者のJosh Lemosによる解説記事。<br>
🔗 <a href="https://thenewstack.io/beyond-culture-addressing-common-security-frustrations/">The New Stackの記事を読む（英語）</a></p>
</li>
<li>
<p><strong>The Field CTO View: AI, Vibe Coding, and Developer Skillsets（フィールドCTOの視点：AIとVibe Coding、デベロッパーのスキルセットのこれから）</strong>
企業のIT部門ではAIがどう実装されているのか？ デベロッパーの適応はどう進んでいるのか？GitLabのフィールドCTO部門責任者が答えています。<br>
🔗 <a href="https://thenewstack.io/the-field-cto-view-ai-vibe-coding-and-developer-skillsets/">The New Stackの記事を読む（英語）</a></p>
</li>
</ul>
<h2>今月のひとこと</h2>
<p>最後に、私が心に留めている言葉をシェアします。完璧を目指すよりも、まずは一歩を踏み出すこと。大きなアイデアは、小さな行動から始まります。</p>
<p>「何かを始める方法は、話すのをやめて行動することだ」– ウォルト・ディズニー</p>
<p>これからも、ひとつずつマージを重ねながら、学び、作り、そして成長していきましょう 💜</p>
<p>🦊 また次回まで！</p>
<p>GitLabコミュニティの一員でいてくださり、ありがとうございます！みなさんがGitLab 18でどんなものを作ってくださるのか、私たちも楽しみにしています。バーチャルイベントの登録と、AI機能の活用開始もお忘れなく。それではまた次回のMonday Mergeでお会いしましょう。Happy Merging!</p>
<p><a href="https://www.linkedin.com/in/sugaroverflow/">Fatima Sarah Khalid</a> | GitLab Developer Advocate
<img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1749687125/Blog/Content%20Images/SignOffBanner.png" alt="SignOffBanner"></p>
]]></content>
        <author>
            <name>GitLab Japan Team</name>
            <uri>https://about.gitlab.com/blog/authors/gitlab-japan team</uri>
        </author>
        <published>2025-06-09T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[GitLabリポジトリのバックアップを48時間から41分に短縮した方法]]></title>
        <id>https://about.gitlab.com/ja-jp/blog/how-we-decreased-gitlab-repo-backup-times-from-48-hours-to-41-minutes/</id>
        <link href="https://about.gitlab.com/ja-jp/blog/how-we-decreased-gitlab-repo-backup-times-from-48-hours-to-41-minutes/"/>
        <updated>2025-06-05T00:00:00.000Z</updated>
        <content type="html"><![CDATA[<p>リポジトリのバックアップは、いかなる堅牢なディザスタリカバリ戦略においても不可欠な要素です。しかし、リポジトリのサイズが大きくなるにつれて、信頼性の高いバックアップの作成プロセスはますます難しくなります。GitLabでは、<a href="https://gitlab.com/gitlab-org/gitlab">Railsリポジトリ</a>のバックアップに48時間かかっていました。そのため、バックアップ頻度かシステムパフォーマンスのどちらを優先するかを選ばないといけないという難しい状況にありました。お客様のため、そして社内ユーザーのためにこの問題に取り組むことにしました。</p>
<p>最終的に、15年前に作成したGit関数でO(N²)レベルの複雑なアルゴリズムが使われていたのがこの問題の原因であることを突き止め、アルゴリズムを変更して修正したところ、__バックアップ時間が大幅に短縮__されました。その結果、コストの削減、リスクの軽減とともに、コードベースに合わせて実際にスケールするバックアップ戦略を実施できるようになりました。</p>
<p>これは、大規模なリポジトリのユーザーなら誰にでも起こりうるGitのスケーラビリティの問題であることが判明しました。この問題をどのように追跡して修正したかをご説明します。</p>
<h2>大規模なバックアップ</h2>
<p>まずは、問題について詳しく見ていきましょう。組織においてリポジトリのサイズが大きくなり、バックアップが複雑化するにつれて、以下のような課題が生じる可能性があります。</p>
<ul>
<li><strong>時間がかかるバックアップ</strong>：非常にサイズの大きいリポジトリを使用している場合、バックアップの作成に数時間かかる可能性があるため、定期的なバックアップを行うのが難しくなりがちです。</li>
<li><strong>リソースの集中</strong>：長時間のバックアップ処理には大量のサーバーリソースが必要となることがあるため、他のオペレーションに影響を及ぼす可能性があります。</li>
<li><strong>バックアップの実施期間</strong>：24時間体制で業務を行っているチームにとって、このような長時間の処理を行える適切なメンテナンス期間を確保するのは難しい場合があります。</li>
<li><strong>失敗するリスクの増大</strong>：バックアップ処理に長時間かかると、ネットワークの問題、サーバーの再起動、システムエラーなどによる中断の影響を受けやすくなります。そのため、場合によっては長時間かかるバックアップ処理を最初からやり直さざるを得なくなります。</li>
<li><strong>競合状態</strong>：バックアップの作成に時間がかかるため、その間にリポジトリが大きく変更される可能性があります。結果として、使用できないバックアップが作成されたり、オブジェクトにアクセスできなくなってバックアップ処理が中断されたりすることがあります。</li>
</ul>
<p>このような課題によって、バックアップの頻度や完全性を妥協せざるを得なくなる可能性があります。しかしながら、データ保護という観点では妥協すべきではありません。バックアップの実施期間が長くなると、顧客は回避策を取らざるを得なくなることがあります。その場合、外部ツールの導入やバックアップ頻度の削減などが行われますが、結果として、組織全体で一貫したデータ保護戦略を維持できなくなる可能性があります。</p>
<p>では、GitLabがどのような方法でパフォーマンス上のボトルネックを特定し、解決策を見つけ、バックアップ時間を短縮するためにどのように導入したかを詳しく見ていきましょう。</p>
<h2>技術的な課題</h2>
<p>GitLabのリポジトリバックアップ機能では、<a href="https://git-scm.com/docs/git-bundle"><code>git bundle create</code></a>コマンドを使用しています。このコマンドは、ブランチやタグのようなすべてのオブジェクトと参照を含むリポジトリの完全なスナップショットをキャプチャします。このバンドルは、リポジトリを正確な状態で再作成するための復元ポイントとして機能します。</p>
<p>しかしながら、このコマンドの実装には参照数に関連するスケーラビリティの低さの問題があり、パフォーマンス上のボトルネックとなっていました。リポジトリ内の参照数が増えるにつれて、処理時間が飛躍的に増加していました。当社の一番大きなリポジトリでは数百万個の参照が含まれますが、バックアップ処理に48時間以上かかることもありました。</p>
<h3>根本原因分析</h3>
<p>そこで、このパフォーマンス上のボトルネックの根本原因を特定するために、実行中のコマンドのフレームグラフを分析しました。</p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097176/Blog/Content%20Images/Blog/Content%20Images/image1_aHR0cHM6_1750097176388.jpg" alt="実行中のコマンドが示されたフレームグラフ"></p>
<p>フレームグラフは、スタックトレースを使用してコマンドの実行パスを表示します。各バーはコード内の関数に対応しており、バーの幅はその特定の関数内でコマンドの実行に費やされた時間を示します。</p>
<p>10,000個の参照が含まれるリポジトリで実行された<code>git bundle create</code>コマンドのフレームグラフを調べたところ、実行時間の約80%が<code>object_array_remove_duplicates()</code>関数に費やされていました。この関数は、<a href="https://gitlab.com/gitlab-org/git/-/commit/b2a6d1c686">コミットb2a6d1c686</a>（バンドル：同じ参照を複数回指定できるように許可、2009年1月17日）でGitに導入されたものです。</p>
<p>この変更内容を理解するには、<code>git bundle create</code>を使用すると、バンドルに含める参照を指定できることを把握する必要があります。完全なリポジトリバンドルの場合、<code>--all</code>フラグを指定するとすべての参照がパッケージ化されます。</p>
<p>このコミットは、ユーザーがコマンドラインから重複した参照を指定（例：<code>git bundle create main.bundle main main</code>）すると、重複したmain参照を適切に処理せずにバンドルが作成されてしまうという問題に対処したものでした。Gitリポジトリでこのバンドルをアンバンドルすると、同じ参照を二度書き込もうとするため、壊れてしまいます。そのため、重複回避を目的として、すべての参照で重複の特定処理が繰り返されるようにネストされた<code>for</code>ループを用いたコードが実装されました。このようなO(N²)アルゴリズムは、参照数が多いリポジトリではパフォーマンス上の重大なボトルネックとなり、かなりの処理時間がかかっていました。</p>
<h3>修正方法：O(N²)アルゴリズムを効率的なマッピングに置き換える</h3>
<p>GitLabは、明らかになったパフォーマンスの問題を解決するために、ネストされたループをマップデータ構造に置き換えるアップストリーム修正をGitにコントリビュートしました。これにより、各参照がマップに追加され、各参照の単一のコピーのみが処理目的で自動的に保持されるようになりました。</p>
<p>この変更により、<code>git bundle create</code>のパフォーマンスが劇的に向上し、参照数の多いリポジトリのスケーラビリティが大幅に改善されました。10,000個の参照があるリポジトリでベンチマークテストを行った結果、パフォーマンスが6倍向上することが明らかになりました。</p>
<pre><code class="language-shell">Benchmark 1: bundle (refcount = 100000, revision = master)
  Time (mean ± σ): 	14.653 s ±  0.203 s	[User: 13.940 s, System: 0.762 s]
  Range (min … max):   14.237 s … 14.920 s	10 runs

Benchmark 2: bundle (refcount = 100000, revision = HEAD)
  Time (mean ± σ):  	2.394 s ±  0.023 s	[User: 1.684 s, System: 0.798 s]
  Range (min … max):	2.364 s …  2.425 s	10 runs

Summary
  bundle (refcount = 100000, revision = HEAD) ran
	6.12 ± 0.10 times faster than bundle (refcount = 100000, revision = master)
</code></pre>
<p>パッチは承認され、アップストリームのGitに<a href="https://gitlab.com/gitlab-org/git/-/commit/bb74c0abbc31da35be52999569ea481ebd149d1d">マージ</a>されました。GitLabでは、次のGitバージョンがリリースされる前にお客様がすぐに恩恵を受けられるように、この修正をバックポートしました。</p>
<h2>結果：バックアップ時間の大幅な短縮に成功</h2>
<p>この改善によるパフォーマンスの向上は、まさにこれまでの状況を一変させるものでした。</p>
<ul>
<li><strong>バックアップ時間が48時間から41分に短縮</strong>：GitLab最大のリポジトリ（<code>gitlab-org/gitlab</code>）のバックアップを従来のわずか1.4%の時間で作成できるようになりました。</li>
<li><strong>一貫したパフォーマンスの維持</strong>：この修正はリポジトリのサイズに関係なく機能し、安定してスケールします。</li>
<li><strong>効率的なリソースの利用</strong>：バックアップ処理中のサーバー負荷が大幅に軽減されました。</li>
<li><strong>幅広い適用性</strong>：もっとも劇的な改善が見られるのはバックアップの作成ですが、多数の参照を処理するすべてのバンドルベースの操作においてメリットがあります。</li>
</ul>
<h2>GitLabを利用するお客様にとってのメリット</h2>
<p>GitLabを利用する組織は、この改善によって、リポジトリのバックアップとディザスタリカバリ計画方法に関して、即座に次のような具体的なメリットを得られます。</p>
<ul>
<li><strong>バックアップ戦略の変革</strong>
<ul>
<li>企業チームは、開発ワークフローに影響を与えたり、長期にわたるバックアップ期間を確保したりすることなく、夜間に実施する完全バックアップのスケジュールを確立できます。</li>
<li>長期のバックアップ専用の時間を設けなくとも、夜間スケジュール中にバックグラウンドでシームレスに実行できます。</li>
</ul>
</li>
<li><strong>事業継続性の向上</strong>
<ul>
<li>バックアップ時間が数日から数分に短縮されたことで、組織は回復ポイント目標（RPO）を大幅に最小化できます。これはビジネスリスクの軽減につながります。災害が発生した場合でも、数日かからず、数時間の作業で復旧できる可能性があります。</li>
</ul>
</li>
<li><strong>運用負荷の軽減</strong>
<ul>
<li>サーバーリソースの消費を抑えられ、メンテナンス期間が短縮されます。</li>
<li>バックアップ時間が短縮されるため、コンピューティングコストも削減します。特に処理時間が延びると、コストの増加に直結するクラウド環境においては顕著です。</li>
</ul>
</li>
<li><strong>将来にわたって活用できるインフラストラクチャ</strong>
<ul>
<li>リポジトリの規模が大きくなっても、バックアップ頻度とシステムパフォーマンスのどちらを優先するか選ぶ必要はもうありません。</li>
<li>コードベースの拡大にあわせて、バックアップ戦略もシームレスに拡張できます。</li>
</ul>
</li>
</ul>
<p>組織は、パフォーマンスや完全性を犠牲にしなくても、より堅牢なバックアップ戦略を実施できるようになりました。以前は難しいトレードオフに直面していたものの、今では簡単な方法で運用できます。</p>
<p><a href="https://about.gitlab.com/ja-jp/blog/gitlab-18-0-release/">GitLab 18.0</a>のリリース以降、ライセンスプランに関係なく、GitLabをご利用のお客様は全員、ご紹介した改善点を利用して<a href="https://docs.gitlab.com/administration/backup_restore/backup_gitlab/">バックアップ</a>戦略の立案および実施を行えるようになりました。設定を変更する必要はもうありません。</p>
<h2>今後の展望</h2>
<p>今回の革新的な改善は、スケーラブルでエンタープライズグレードなGitインフラの提供に向けた、当社の継続的な取り組みの一環です。バックアップの作成時間が48時間から41分に短縮されたことは重要なマイルストーンとなりましたが、引き続きスタック全体においてパフォーマンス上のボトルネックを特定し、対処しています。</p>
<p>今回の改善をGitのアップストリームプロジェクトにコントリビュートでき、GitLabユーザーだけでなく、広範なGitコミュニティにメリットをもたらせたことを特に誇りに思っています。このような協調的なアプローチにより、改善に対する徹底的なレビューおよび幅広いテストの実施が行われ、誰もがそのメリットを得られるようになります。</p>
<blockquote>
<p>GitLabではパフォーマンスを最適化するために、このような深いレベルでインフラに取り組んでいます。ぜひGitLab 18のオンラインリリースイベントにご参加ください。ほかにどのような根本的な機能強化が行われたかをご紹介します。<a href="https://about.gitlab.com/ja-jp/eighteen/">今すぐご登録ください！</a></p>
</blockquote>
]]></content>
        <author>
            <name>Karthik Nayak</name>
            <uri>https://about.gitlab.com/blog/authors/karthik-nayak</uri>
        </author>
        <author>
            <name>Manuel Kraft</name>
            <uri>https://about.gitlab.com/blog/authors/manuel-kraft</uri>
        </author>
        <published>2025-06-05T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[IDE、そしてWeb IDEとは]]></title>
        <id>https://about.gitlab.com/ja-jp/blog/what-is-ide/</id>
        <link href="https://about.gitlab.com/ja-jp/blog/what-is-ide/"/>
        <updated>2025-06-03T00:00:00.000Z</updated>
        <content type="html"><![CDATA[<p>Web IDEとは、クラウドベースで機能する、Webブラウザ上でソースのコミットまで行える高度なIDEです。では、IDEとは？ Web IDEやIDEを知らなかった人にもわかりやすいように、その仕組みや概要を、ここで簡単に説明します。</p>
<h2>目次</h2>
<ul>
<li>IDE（統合開発環境）とは</li>
<li>IDEの主な特徴</li>
<li>IDEの仕組み</li>
<li>IDEの種類</li>
<li>IDEを使うメリット</li>
<li>IDEの例</li>
<li>Web IDEとは</li>
<li>IDEのFAQ（よくある質問）</li>
</ul>
<h2>IDE（統合開発環境）とは</h2>
<p>IDEはIntegrated Development Environmentの略で、日本語では「統合開発環境」と訳されます。IDEは、開発者がソフトウェアのコードを開発する際に必要なソフトウェアをひとつにまとめ、単一の画面で操作できるようにしたものです。</p>
<p>プログラミングには次のようなプログラムが必要になります。</p>
<ul>
<li>テキストエディタ：ソースコードを記述</li>
<li>コンパイラー：ソースコードからオブジェクトコードを生成</li>
<li>リンカー：ターゲットとなるCPU用に実行コードを生成</li>
<li>デバッガー：作成したプログラムのバグ検出に使用</li>
<li>コードのバージョン管理：ほとんどのIDEはシームレスにバージョン管理システムを統合</li>
<li>自動化ビルド：ビルドプロセスを自動化</li>
</ul>
<p>IDEがなかった時代は、これら一つひとつを手作業で統合しなければなりませんでした。しかし、現在ではすべてがIDEツールに統合されているため、IDEをインストールするか、Web IDEにアクセスすれば、開発環境が瞬時に整います。ほとんどのIDEには、ソースコードを自動的に書いたり、編集したりするための機能が含まれています。そのため、コード開発を効率的に行うことが可能になります。</p>
<h2>IDEの主な特徴</h2>
<p>IDEはこれまで、パソコンにインストールして使用するものが主流でしたが、現在はWeb IDEなど、クラウドベースのものが増えてきています。GitLabのWeb IDEも、Webブラウザにアクセスできれば、簡単に開発ができるため、複数の開発者で開発環境を共有することが可能です。</p>
<p>統合開発環境（IDE）の特徴は、次のとおりです。</p>
<ol>
<li>時間の節約：上述のように、各種プログラムがひとつのプラットフォーム上に統合されているため、ソフトウェア開発にかかる時間が短縮できます。</li>
<li>チームでの開発の効率化：バージョン管理やソースコードの管理など、引き継ぎにかかる手間が省け、ミスが予防できます。</li>
<li>ヒューマンエラーの防止：IDEのエディタには入力サポート機能があり、コンパイラにはシンタックスチェック、つまり構文の間違いチェック機能があります。こういった機能はヒューマンエラーを防止してくれます。</li>
</ol>
<h2>IDEの仕組み</h2>
<p>IDEとは、ソフトウェアの開発で使用するさまざまなソフトウェアを支援ツールと合わせてまとめ、統合開発環境として使えるようにしたものです。</p>
<h2>IDEの種類</h2>
<p>IDEには、さまざまな種類があります。用途や目的、プログラミング言語、ターゲットとする OS や動作環境によって、選ぶポイントがあります。何を作るのか、どういうソフトウェアやアプリケーションを開発するのかによっても、最適 IDEは変わります。どのIDEを選ぶかによって、できることが異なるからです。しかし、異なるIDEで共通してできることは、次のようなものです。</p>
<ul>
<li>ソースファイルの構成管理</li>
<li>ビルドの自動実行</li>
<li>デバッグ</li>
</ul>
<p>また、たとえば、プログラミング言語には Java、Swift、C++、C#、UnityやPythonなどがあるため、コードを書く言語に対応しているIDEを選ぶべきでしょう。IDEの種類としては：</p>
<ul>
<li>多言語対応IDE</li>
<li>モバイル開発用IDE</li>
<li>WebまたはクラウドベースのIDE</li>
<li>単言語のIDE</li>
</ul>
<p>などがあります。</p>
<p>また、IDEにはダウンロードして使うものと、クラウドで使用するもの、たとえばWeb IDEなどがあります。クラウドベースのものは、複数の開発者の間で開発環境が共有できるため、各々のチームメンバーの環境設定の違いは問題になりません。また、ビルドの際はCPUの速度低下により時間がかかるものですが、クラウドIDEでは速度低下は発生しません。ソースコード開発は、Gitなどと連携すれば、チーム間での共有も行えます。</p>
<h2>IDEを使うメリット</h2>
<p>IDE、統合開発環境を使うメリットは、一言で言うなら「開発の効率化」です。「IDEとは」で記述したように、IDEにはテキストエディタ、コンパイル、デバッグなどの機能がすべて統合されています。そのため、コード開発の効率化が図れます。</p>
<p>IDEを使うと、環境設定を行う手間が省けますが、逆に、IDEを使わないと、各種ツールを設定しなければならず、時間がかかります。また、IDEはインストール後すぐ使えるため、プログラミングの初心者にもお勧めできます。</p>
<h2>IDEの例</h2>
<p>IDE、統合開発環境にはたくさんの種類があります。現在よく使われているIDEのうち、例を 5 つ挙げます。</p>
<p>●        Visual Studio/Visual Studio Code – Microsoftが開発。市場でとくに人気がある</p>
<p>●        IntelliJ IDEA – JetBrains が開発した、多言語対応型IDE</p>
<p>●        Vim - Bram Moolenaar氏が開発した軽量のテキストエディタでIDEとして使用可</p>
<p>●        Eclipse – IBMが開発した、オープンソースのIDE</p>
<p>●        Jupyter Notebook – Pythonの実行環境をもつ、ブラウザベースのIDE</p>
<h2>Web IDEとは</h2>
<p>Web IDEとは、前述のように、WebベースのIDEで、WebブラウザさえあればアクセスできるIDEを意味します。個々に IDE を利用するのではなく、利用者はみな、ブラウザを介してIDEにアクセスするため、各種設定のわずらわしさから解放されます。</p>
<h3><a href="https://docs.gitlab.com/ee/user/project/web_ide/">GitLab Web IDE</a>を使うメリット</h3>
<p>GitLabには、クラウドベースの、オンライン<a href="https://about.gitlab.com/blog/get-ready-for-new-gitlab-web-ide/">Web IDE（英語版）</a>があります。Web IDEは、コミットのステージング機能を備えた高度なエディタです。Web IDEを使うと、GitLab UIから直接複数のファイルに変更を加えることができます。</p>
<ul>
<li>フレキシブルでカスタム化可能なインターフェース</li>
<li>パネルは折りたたみ可能で、テーマもカスタム化可能</li>
<li>コンテキストアクションとドラッグ＆ドロップサポート</li>
<li>開いているファイル全部を一度に検索・置換</li>
<li>GitLab UIから直接ブラウザで開けるため、クイックなコード修正などに便利</li>
</ul>
<h2>IDEのFAQ（よくある質問）</h2>
<h3>Q: IDE（統合開発環境）を使う理由は何ですか。</h3>
<p>A: IDEはソフトウェア開発環境の一部を構成しています。よく設計されたIDEを使うと、ソフトウェア開発が大幅に効率化できます。</p>
<h3>Q: IDEの3つの主要コンポーネントは何ですか。</h3>
<p>A: コードエディタ、コンパイラ、デバッガーが三大コンポーネントです。</p>
<h3>Q: IDEのインストール、設定方法は？</h3>
<p>A: ニーズに合ったIDEを選び、最新バージョンを公式サイトから入手してインストールします。ほとんどのIDEで、各種設定は使用環境に合わせてカスタマイズ可能です。</p>
<h2>GitLab Web IDEを使ってみる</h2>
<p>GitLabのWeb IDE は、SaaSおよびSelf-Managedのサブスクリプションを購入されているお客様には無償でお試しいただけます。詳しくは<a href="https://about.gitlab.com/direction/create/ide/web_ide/">こちら</a>をご覧ください。</p>
<p>&lt;br&gt;&lt;br&gt;
<em>監修：知念 梨果 <a href="https://gitlab.com/rikachinen">@rikachinen</a></em> &lt;br&gt;
<em>（GitLab合同会社 カスタマーサクセス本部 カスタマーサクセスエンジニア）</em></p>
]]></content>
        <author>
            <name>GitLab Team</name>
            <uri>https://about.gitlab.com/blog/authors/gitlab-team</uri>
        </author>
        <published>2025-06-03T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[GitLab DuoとAmazon Qでコードレビューを加速]]></title>
        <id>https://about.gitlab.com/ja-jp/blog/accelerate-code-reviews-with-gitlab-duo-and-amazon-q/</id>
        <link href="https://about.gitlab.com/ja-jp/blog/accelerate-code-reviews-with-gitlab-duo-and-amazon-q/"/>
        <updated>2025-06-02T00:00:00.000Z</updated>
        <content type="html"><![CDATA[<p>コードレビューは、バグの検出、コードの可読性の向上、コーディング標準の順守の徹底に不可欠ですが、その一方でワークフローにおける大きなボトルネックになることもあります。迅速に機能をリリースしようとする際に、複数のチームメンバーによるコードレビューの完了を待つのは歯がゆいものです。多くのやり取りが発生するディスカッション、スケジュールの衝突、チーム全体の合意形成にかかる時間などによって、本来は簡単なレビューが数日から数週間に及ぶことがあります。</p>
<p>そこでおすすめなのが、<a href="https://about.gitlab.com/ja-jp/blog/gitlab-duo-with-amazon-q-agentic-ai-optimized-for-aws/">GitLab Duo with Amazon Q</a>です。AWSユーザー向けにソフトウェア開発ライフサイクル全体にわたって自律型AIを提供するGitLab Duo with Amazon Qを使用すれば、レビュープロセスを変革できます。このAI搭載ソリューションは、チームメンバーがこれまで費やしていたほんの一部の時間で、包括的なコードレビューを実行できます。GitLab Duo with Amazon Qは高度な自律型AI機能を活用することで、必要な品質や徹底性を犠牲にすることなく、レビューワークフロー全体を効率化します。たとえるなら、瞬時にコードを分析して実用的なフィードバックを提供できる非常に熟練したレビュアーがいて、いつでも対応可能な状態のようなものです。</p>
<h2>仕組み：コードレビューの開始</h2>
<p>では、GitLab Duo with Amazon Qが実際にどのように機能するかをご説明します。ある機能に関する作業が終わり、ちょうど複数のコード更新を含むマージリクエストを作成したところだとします。コードレビューの開始方法は非常に簡単です。チームメンバーに連絡して対応可能かどうかの返答を待つ代わりに、コメントセクションに「/q review」というシンプルなコマンドを入力するだけです。これだけでAIによるコードレビューがトリガーされます。</p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097002/Blog/Content%20Images/Blog/Content%20Images/image1_aHR0cHM6_1750097002096.png" alt="GitLab Duo with Amazon Qを使用したコードレビューがトリガーされている様子"></p>
<p>コマンドが入力されると、Amazon Q Servicesはすぐにコード変更の分析を開始します。レビューを実行中である旨の確認メッセージが表示され、数秒のうちにAIが更新内容のすべての行を調査し、さまざまな側面から潜在的な問題がないかをチェックします。
レビューが完了すると、バグの検出、可読性の改善、構文エラー、チームのコーディング標準への準拠など、すべての基準を網羅した包括的なフィードバックが表示されます。AIによって問題が特定されるだけでなく、修正のためのコンテキストと修正案も提供されるため、対応が必要な箇所とその理由を簡単に把握できます。</p>
<p>この自律型AIアプローチの優れた点は、コードレビューの面倒な作業をAIにまかせられるため、デベロッパーが最も重要な作業である「優れたソフトウェアの開発」に集中できることです。時間を無駄に費やすことなく、バグ検出精度の向上、コーディング標準の順守、コード品質の向上など、徹底したコードレビューのメリットを享受できます。さらに、レビューの待ち時間がなくなるため、デプロイまでの時間が大幅に短縮され、チーム全体の生産性が向上します。</p>
<h2>GitLab Duo with Amazon Qの導入メリット</h2>
<p>GitLab Duo with Amazon Qを使用することで、以下のように開発プロセスを変革できます。</p>
<ul>
<li>品質を妥協しない、迅速なコードレビュー</li>
<li>コードベース全体にわたってコーディング標準を一貫して適用</li>
<li>本番環境に到達する前に問題を修正できるよう、即座にフィードバックを提供</li>
<li>デプロイまでの時間が短縮されるため、より迅速に機能をリリース可能</li>
<li>レビューを何度も行わずに済むため、本質的な問題解決に集中できる時間が増加</li>
</ul>
<p>以下の動画では、GitLab Duo with Amazon Qを使用してコードレビュープロセスに変革をもたらす方法についてご紹介しています。ぜひこの革新的な機能に関する動画をご覧ください。</p>
<p>&lt;!-- blank line --&gt;
&lt;figure class=&quot;video_container&quot;&gt;
&lt;iframe src=&quot;https://www.youtube.com/embed/4gFIgyFc02Q?si=GXVz--AIrWiwzf-I&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;true&quot;&gt; &lt;/iframe&gt;
&lt;/figure&gt;
&lt;!-- blank line --&gt;</p>
<blockquote>
<p>GitLab Duo with Amazon Qの詳細については、 <a href="https://about.gitlab.com/events/aws-summits/">お近くで開催されるAWS Summit</a> にご参加いただくか <a href="https://about.gitlab.com/ja-jp/partners/technology-partners/aws/">GitLab担当者にお問い合わせ</a>ください.</p>
<p>また、自律型AIの今後の計画などについてご紹介するGitLab 18オンラインリリースイベントにもぜひご参加ください。<a href="https://about.gitlab.com/ja-jp/eighteen/">ご登録はこちら</a></p>
</blockquote>
]]></content>
        <author>
            <name>Cesar Saavedra</name>
            <uri>https://about.gitlab.com/blog/authors/cesar-saavedra</uri>
        </author>
        <published>2025-06-02T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[2025年第2四半期の『Forrester Wave™: DevOps Platforms』でGitLabがリーダーの1社に位置付け]]></title>
        <id>https://about.gitlab.com/ja-jp/blog/gitlab-named-a-leader-in-the-forrester-wave-devops-platforms-q2-2025/</id>
        <link href="https://about.gitlab.com/ja-jp/blog/gitlab-named-a-leader-in-the-forrester-wave-devops-platforms-q2-2025/"/>
        <updated>2025-06-02T00:00:00.000Z</updated>
        <content type="html"><![CDATA[<p>DevSecOpsプラットフォームの選択は、企業が下すテクノロジー上の意思決定のうち、もっとも重要なもののひとつです。そのため、GitLabが<a href="https://about.gitlab.com/forrester-wave-devops-platform/"><strong>2025年第2四半期の『Forrester Wave™: DevOps Platforms』でリーダーの1社として位置付け</strong></a>されたことを大変光栄に思います。GitLabは、ゼロデイ体験、デベロッパー向けツール、ビルドの自動化と継続的インテグレーション、デプロイの自動化、AIリスクの軽減、AIの導入、組み込み型のセキュリティツール、プラットフォームの一貫性など、お客様がもっとも重視する基準において最上位のスコアを獲得しました。</p>
<p><em><strong>「GitLabは、オールインワンソリューションの中でももっともオールインワンであり、一度の購入で標準化を目指す企業に適している」-</strong></em> Forrester Wave™: DevOps Platforms（2025年第2四半期）</p>
<p>この評価には、GitLabに日々寄せられているお客様の声が反映されています。つまり、お客様は安全なソフトウェアをより迅速に提供する必要がありますが、既存のソリューションでは、速度、セキュリティ、またはシンプルさのいずれかを妥協せざるを得ないということです。GitLabはこの3つすべてを妥協せずに実現できます。さらに、5月にリリースした<a href="https://about.gitlab.com/ja-jp/blog/gitlab-18-0-release/">GitLab 18.0</a>では、テスト生成、コード提案、コードリファクタリングなどの<a href="https://about.gitlab.com/ja-jp/blog/gitlab-premium-with-duo/">ネイティブAIのGitLab Duo機能</a>をGitLab PremiumとGitLab Ultimateに導入しました。追加費用なしで直接ご利用いただけます。</p>
<blockquote>
<p><a href="https://about.gitlab.com/forrester-wave-devops-platform/">今すぐレポートを読む</a></p>
</blockquote>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1749673518/Blog/Content%20Images/Image_DevOps-Platforms-Q2-2025.png" alt="『Forrester Wave™: DevOps Platforms』（2025年第2四半期）の画像"></p>
<h2>エンタープライズレベルの制御を行い、AI変革の最前線に立ち続ける</h2>
<p>DevSecOpsは急速に進化しており、AIはその変化の最前線に立っています。しかしながら、多くのAIツールでは、最先端の機能、またはエンタープライズレベルのセキュリティのどちらかを選ばざるを得ません。</p>
<p>Forrester社は、<strong>AIの導入</strong>と<strong>AIリスクの軽減</strong>の両方の基準において、GitLabに5点（最上位の評価）を付けました。セキュリティを維持する革新的なAI機能の開発に注力していることが、お客様だけでなく、多くの方々に認められていることを嬉しく思います。</p>
<p>この2つの強みは、以下を含むGitLab DuoのAI機能群にも反映されています。</p>
<ul>
<li>GitLab Duo Workflow（非公開ベータ版）：開発、セキュリティ、およびオペレーションにわたる複雑なタスクを処理する自律型AIエージェント。エンタープライズレベルのガードレールと監査証跡を提供します。</li>
<li>GitLab Duo Agentic Chat：コードの説明からテスト作成まで、あらゆる場面で文脈を理解する会話型AIアシスト機能を提供します。知的財産の保護とプライバシー管理機能も組み込まれています。</li>
<li>GitLab Duoコード提案：コードブロックの予測補完、関数ロジックの定義、テスト生成、正規表現パターンのような一般的なコードの提案を行うAIアシスト機能です。</li>
<li>ネイティブAIのGitLab Duo脆弱性の修正：自動説明機能やマージリクエストの自動生成を活用して脆弱性を特定し修正することで、開発プロセスを効率化します。</li>
</ul>
<h2>より少ないリソースでより多くのことを実現</h2>
<p>DevSecOpsチームが求めているのは、ソフトウェアデリバリーライフサイクル（SDLC）の一部だけを支援するようなツールやインテグレーションではないという声を、私たちははっきりと受け取っています。SDLC全体をカバーする、シームレスで統合されたデベロッパーエクスペリエンスが必要なのです。</p>
<p>以下の基準でGitLabが獲得したスコアは、当社の顧客重視の戦略を裏付けるものであると考えています。</p>
<ul>
<li><strong>ゼロデイエクスペリエンス</strong>：Forrester社は、GitLabの「強力なゼロデイエクスペリエンス」について、「すべてがすぐに使える状態」であること、そして豊富な移行ツールとチュートリアルが用意されていることを評価しています。</li>
<li><strong>デベロッパー向けツール</strong>：Forrester社は、AWSユーザー向けの自律型AIである<a href="https://about.gitlab.com/ja-jp/blog/gitlab-duo-with-amazon-q-agentic-ai-optimized-for-aws/">GitLab Duo with Amazon Q</a>、クラウド開発環境、統合デベロッパープラットフォーム、ドキュメント用Wikiなどを例として挙げています。</li>
<li><strong>プロジェクト計画と連携</strong>：Forrester社は、GitLabの「強力なコンプライアンスセンター」の存在に加え、トップダウンおよびボトムアップでの連携を促進するツールがあることに注目しています。</li>
<li><strong>パイプラインセキュリティ</strong>：Forrester社は、パイプラインセキュリティの基準においてもGitLabに最上位のスコアを付けました。</li>
<li><strong>ビルドの自動化と継続的インテグレーション</strong>：Forrester社は、マルチステージのビルドパイプラインと強力なセルフホスティングのサポートを備えたビルドの自動化と継続的インテグレーションについて言及しています。</li>
</ul>
<h2>レポートを読む</h2>
<p>2025年第2四半期の『Forrester Wave™: DevOps Platforms』でリーダーの1社として評価されたことは、SDLC全体にわたり信頼できる唯一の情報源を提供する、当社のプラットフォームの幅広い機能と奥深さを物語っています。複数のツールやインテグレーションを使い分ける必要はもうありません。GitLabなら、シームレスで統合されたエクスペリエンスをとおして、生産性の向上、摩擦の軽減を実現します。今回の評価は、GitLabチームの努力、GitLabのオープンソースコミュニティからの多大な貢献、お客様からの貴重なフィードバック、そしてソフトウェア開発の未来を形作るという当社の熱意を反映していると考えております。</p>
<blockquote>
<h4><a href="https://about.gitlab.com/forrester-wave-devops-platform/">今すぐレポートを読む</a></h4>
</blockquote>
<p><em>Forrester社がリサーチに関する発行物に掲載されている特定の企業、製品、ブランド、サービスを推奨することはありません。また、当該発行物に記載されている評価に基づいて、特定の企業やブランドの製品またはサービスを選択するよう個人に助言することもありません。情報は、利用可能な最適なリソースに基づいて示されます。意見はその時点での判断によるものであり、変更される可能性があります。詳細については、Forrester社の客観性に関する<a href="https://www.forrester.com/about-us/objectivity/">こちらのページ</a>をご覧ください。</em></p>
]]></content>
        <author>
            <name>Dave Steer</name>
            <uri>https://about.gitlab.com/blog/authors/dave-steer</uri>
        </author>
        <published>2025-06-02T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[統合されたDevSecOpsプラットフォームへの移行を組織が進めている理由]]></title>
        <id>https://about.gitlab.com/ja-jp/blog/why-are-organizations-moving-to-a-unified-devsecops-platform/</id>
        <link href="https://about.gitlab.com/ja-jp/blog/why-are-organizations-moving-to-a-unified-devsecops-platform/"/>
        <updated>2025-06-02T00:00:00.000Z</updated>
        <content type="html"><![CDATA[<p>今日の最新のソフトウェア開発を取り巻く環境では、多くの組織がクラウドに移行し、DevSecOpsプロセスの導入を進めています。しかしながら、このような移行プロセスには、最新の開発方法に合わせて設計されていないツールやレガシーシステムの増加という大きな課題が伴います。そのため、組織はタスク管理、CI/CD、セキュリティ、モニタリングなど、さまざまな用途のツール向けのインテグレーションを作成して、これらのシステムをDevSecOpsに適応させる必要があります。結果として、複雑な運用プロセス、高い保守コスト、開発チームと運用チーム間のコラボレーションへの悪影響といった新たな問題が生じます。さらに、デベロッパーは、計画から本番環境へのデプロイまでの1つの開発フローを完了するために、常に複数のツール間を切り替える必要があり、不満を抱えることになります。</p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097077/Blog/Content%20Images/Blog/Content%20Images/image1_aHR0cHM6_1750097077287.jpg" alt="DevSecOpsプロセスに複数のツールを統合する難しさと、その際に生じる運用コスト"></p>
<p>&lt;center&gt;&lt;i&gt;DevSecOpsプロセスに複数のツールを統合するのがどれほど難しいか&lt;/i&gt;&lt;/center&gt;</p>
<p>&lt;br&gt;&lt;/br&gt;</p>
<p>幸いなことに、これには解決策があります。ソフトウェア開発に対する統一されたアプローチを提供する包括的なDevSecOpsプラットフォームです。</p>
<p>このようなプラットフォームは、クラウドベースおよびDevSecOps環境で運用を行う組織向けに構築されており、コード管理、CI/CDプロセス、タスク管理、セキュリティからAI主導の自動化まで、すべてのソフトウェア開発ステージを単一プラットフォームに統合します。すべてのソフトウェア開発ワークフローを統一されたインターフェイスに一元化できるため、開発チームと運用チームの作業やコミュニケーションが効率化され、運用面の複雑さや混乱を最小限に抑えられます。</p>
<p>さらに、デベロッパーエクスペリエンスも大幅に向上します。エンジニアは最新の開発ニーズに特化して設計された製品で作業することになるため、満足度が高まります。</p>
<p>以降のセクションでは、プロジェクトやタスクの管理、セキュリティやコンプライアンスの確保、AI搭載の開発ツールの導入など、チームがよく直面する課題を解決するためにGitLabがどのように役立つかをご紹介します。GitLabなら、単一の統合プラットフォーム内ですべてを行えます。</p>
<h2>統合されたアジャイルプロジェクト管理</h2>
<p>GitLabでは、CI/CDなどソフトウェア開発ライフサイクルの全ステージにわたって、プロジェクトとタスクの管理が完全に統合されている包括的なソリューションが提供されているため、リアルタイムで開発の進捗状況を追跡できます。イシューとエピックは自動化プロセスに直接紐づけられるため、計画から本番環境へのデプロイまでのシームレスなフローが実現されます。このアプローチにより、チーム間の透明性が高まり、遅延の発生が減り、すべてのステークホルダーがリアルタイムで開発状況を明確に把握できるようになります。</p>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097077/Blog/Content%20Images/Blog/Content%20Images/image3_aHR0cHM6_1750097077288.jpg" alt="イシューとエピックは自動化プロセスに直接紐づけられるため、計画から本番環境へのデプロイまでのシームレスなフローが実現されます。"></p>
<h2>ビルトインのセキュリティ</h2>
<p>GitLabでは、包括的なセキュリティ機能を統合すること（セキュリティを最優先）を非常に重視しています。GitLabプラットフォームには、以下を含むさまざまな自動セキュリティスキャナーが組み込まれています。</p>
<ul>
<li><a href="https://docs.gitlab.com/user/application_security/dependency_scanning/">依存関係スキャン</a></li>
<li><a href="https://docs.gitlab.com/user/application_security/sast/">静的アプリケーションセキュリティテスト（SAST）</a></li>
<li><a href="https://docs.gitlab.com/user/application_security/dast/">動的アプリケーションセキュリティテスト（DAST）</a></li>
<li><a href="https://docs.gitlab.com/user/application_security/secret_detection/">シークレット検出</a></li>
<li><a href="https://docs.gitlab.com/user/application_security/container_scanning/">コンテナスキャン</a></li>
</ul>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097077/Blog/Content%20Images/Blog/Content%20Images/image2_aHR0cHM6_1750097077289.jpg" alt="さまざまな開発ステージでCI/CDプロセスに統合されているセキュリティスキャン機能"></p>
<p>&lt;center&gt;&lt;i&gt;さまざまな開発ステージでCI/CDプロセスに統合されているセキュリティスキャン機能&lt;/i&gt;&lt;/center&gt;</p>
<p>&lt;br&gt;&lt;/br&gt;</p>
<p>これらのセキュリティチェックは、CI/CDパイプラインを含むソフトウェア開発ライフサイクルの全ステージに直接組み込まれており、開発サイクルの早い段階で潜在的なセキュリティ上の問題についてデベロッパーに即座にフィードバックを提供します。</p>
<h2>コンプライアンスと規制要件</h2>
<p>効率性や優れたユーザーエクスペリエンスの確保に加え、多くの組織（特に金融機関や大企業など規制の厳しい業界の組織）は、厳格なセキュリティおよびコンプライアンス基準にプロセスが準拠していることを確認する必要があります。こういった組織では、特定のコードブランチ（mainブランチや保護ブランチなど）でCI/CDパイプラインが実行されるたびにセキュリティスキャナーが実行されるようにしたり、mainブランチにコードをマージする前に特定の承認を必須としたりするなど、さまざまなプロジェクトにポリシーを適用する機能が必要です。</p>
<p>GitLabでは、<a href="https://about.gitlab.com/blog/introducing-custom-compliance-frameworks-in-gitlab/">コンプライアンスフレームワーク</a>という機能があるため、このようなポリシーを簡単に適用できます。構造化されたポリシーを定義し、特定のプロジェクトに対して適用できる機能です。これにより、シームレスで効率的なデベロッパーワークフローを維持しつつ、規制やセキュリティ要件へのコンプライアンスを自動的に実現できます。</p>
<h2>AI搭載の開発支援</h2>
<p><a href="https://about.gitlab.com/ja-jp/gitlab-duo/">GitLab Duo</a>は、すべての開発ステージにわたってAI主導のアシスタンスを提供します。そのため、いちいち外部ツールに切り替える必要性がなくなります。すべてのリクエストは、プロジェクトとコードベース全体のコンテキストを把握したAI搭載機能によって処理されるため、より効率的かつスマートに作業を進められます。</p>
<p>例を挙げると、AIは以下のようなタスクを実行できます。</p>
<ul>
<li>タスクの説明の自動生成</li>
<li>イシューディスカッションのスマートな要約によるデベロッパーの貴重な時間の節約</li>
<li>高度なコードレビュー機能</li>
<li>コードの改善および最適化の提案</li>
<li>自動テスト生成</li>
<li>セキュリティの脆弱性の検出と修正</li>
<li>失敗したCIパイプラインの根本原因分析によるトラブルシューティング</li>
<li>プライバシーとデータセキュリティ</li>
</ul>
<p>公共機関や金融機関を始めとする規制の厳しい組織のニーズを理解しているGitLabは、セキュアな環境でAIモデルを実行できるよう独自のソリューションを提供しています。GitLab Duoセルフホストモデルを採用すると、各組織はデータプライバシー、セキュリティ、および大規模言語モデル（<a href="https://about.gitlab.com/blog/what-is-a-large-language-model-llm/">LLM</a>）の独自インフラへのデプロイを完全に制御しつつ、以下を実現できます。</p>
<ul>
<li>データプライバシーの保護</li>
<li>規制要件へのコンプライアンス</li>
<li>最高レベルのセキュリティ</li>
<li>外部ネットワークの利用やリスクなしでAIのメリットを活用</li>
</ul>
<h2>まとめ</h2>
<p>組織がプロセスの効率化、セキュリティの強化、イノベーションの加速を実現するためには、包括的なDevSecOpsプラットフォームが必要です。ビルトインのセキュリティ機能とAI搭載の自動化を備え、開発、セキュリティ、運用に不可欠なすべてのツールが統合された単一アプリケーションであるGitLabなら、まさにそれらを実現できます。</p>
<p>実際にGitLabがどのように動作するかをご覧になりたい方は、ぜひ以下のインタラクティブなデモをチェックしてみてください。</p>
<ul>
<li>
<p><a href="https://gitlab.navattic.com/gitlab-premium-with-duo">GitLab Duoが搭載されたGitLab PremiumとUltimate</a> – AI搭載の開発支援を体験しましょう</p>
</li>
<li>
<p><a href="https://gitlab.navattic.com/gitlab-scans">CI/CDパイプラインへのセキュリティ実装</a> – 統合されたセキュリティスキャンによってソフトウェアをどのように保護できるかをご覧ください</p>
</li>
<li>
<p><a href="https://gitlab.navattic.com/compliance">コンプライアンスフレームワーク</a> – GitLabを使用して全プロジェクトにポリシーを適用してガバナンスを向上させる方法をご紹介します</p>
</li>
</ul>
<blockquote>
<p>GitLab 18オンラインリリースイベントに参加して、自律型AIが担う役割など、DevSecOpsプラットフォームの未来について学びましょう。<a href="https://about.gitlab.com/ja-jp/eighteen/">今すぐご登録ください！</a></p>
</blockquote>
]]></content>
        <author>
            <name>Itzik Gan Baruch</name>
            <uri>https://about.gitlab.com/blog/authors/itzik-gan baruch</uri>
        </author>
        <published>2025-06-02T00:00:00.000Z</published>
    </entry>
    <entry>
        <title type="html"><![CDATA[GitLab Duo Chatが自律型AIでさらに進化]]></title>
        <id>https://about.gitlab.com/ja-jp/blog/gitlab-duo-chat-gets-agentic-ai-makeover/</id>
        <link href="https://about.gitlab.com/ja-jp/blog/gitlab-duo-chat-gets-agentic-ai-makeover/"/>
        <updated>2025-05-29T00:00:00.000Z</updated>
        <content type="html"><![CDATA[<p>生成AIのチャットアシスタントは、ソフトウェア開発の現場で一般的に使われるようになり、コードの作成や修正をサポートします。もしそのチャットアシスタントが、コードだけでなく開発プロセス全体のアーティファクトを理解できたとしたらどうでしょうか？コードを書く前にイシューやプロジェクトドキュメントの確認を手伝い、CI/CDパイプラインやマージリクエストにアクセスして、コーディング作業を適切に完了できるように支援してくれるとしたらどうでしょうか？</p>
<p><strong>こうした高度な開発支援を実現するのが、次世代のGitLab Duo Chat「GitLab Duo Agentic Chat」です。これは、AIネイティブな開発支援の大きな進化形であり、現在は<a href="https://docs.gitlab.com/policy/development_stages_support/#experiment">実験的なリリース</a>としてGitLabプラットフォームに新たに追加された機能です。</strong> GitLab Duo Agentic Chatは、VS CodeでGitLab Workflow拡張機能をお使いのGitLab.comユーザーであれば利用できます。</p>
<p>Agentic Chatは、従来の対話型AIによるチャット体験を、ユーザーに代わってアクションを実行するチャット体験に変革します。複雑な問題を細かいタスクに分割し、自律的に完了することができます。Agentic Chatは、提供されたコンテキストに基づいて質問に答えるだけでなく、以下のようなことができます。</p>
<ul>
<li>質問に答えるために必要な情報を<strong>自律的に判断する</strong></li>
<li>複数の情報源から必要な情報を取得するための<strong>一連の操作を実行する</strong></li>
<li>プロジェクト全体から得られる分析結果を組み合わせて、<strong>包括的な回答を作成する</strong></li>
<li>ソリューションを実装するために<strong>ファイルを作成、編集する</strong></li>
</ul>
<p>これらすべての作業が、人間のデベロッパーが常に状況を把握できる状態で行われます。</p>
<p>Agentic Chatは、<a href="https://about.gitlab.com/ja-jp/blog/gitlab-duo-workflow-enterprise-visibility-and-control-for-agentic-ai/">現在プライベートベータ版</a>のDuo Workflowアーキテクチャ上に構築されています。このアーキテクチャは、与えられた質問に適したコンテキストを見つけたり、ファイルを編集したりするなど、特定のタスクを担うエージェントとツールで構成されています。</p>
<p><strong>GitLab Duo Agentic Chatのユースケース</strong></p>
<p>ここでは、Agentic Chatの実際の活用例と一般的なユースケースをご紹介します。</p>
<ul>
<li>
<p><strong>新しいプロジェクトにすばやくオンボーディング</strong>：新しいコードベースに慣れる作業をAIが支援することで、より迅速にプロジェクトに参加できます。</p>
</li>
<li>
<p><strong>担当業務にすぐに着手</strong>：イシューの説明が不明確でも、Agentic Chatが要件と既存の実装との関連性を示してくれるため、すぐに担当作業に取りかかることができます。</p>
</li>
<li>
<p><strong>変更の実装支援</strong>：変更作業が必要になった際には、Agentic Chatがプロジェクト全体にわたって複数のファイルを作成、編集し、実装を支援します。</p>
</li>
<li>
<p><strong>リリース時の検証</strong>：リリースの段階では、Agentic Chatがマージリクエストと元のイシューやタスクを照らし合わせて、ソリューションが本当に要件を満たしているかを検証する手助けをします。</p>
</li>
</ul>
<p><img src="https://res.cloudinary.com/about-gitlab-com/image/upload/v1750099210/Blog/Content%20Images/Blog/Content%20Images/image4_aHR0cHM6_1750099210429.png" alt="agentic chat - 例"></p>
<p>&lt;center&gt;&lt;i&gt;コードの編集を行う Agentic Chat&lt;/i&gt;&lt;/center&gt;</p>
<h2>学習からリリースまで：4ステップの開発ワークフロー</h2>
<p>GitLabエンジニアリングチームの実際のシナリオを通じて、Agentic Chatが開発体験をどのように変革するかをご紹介します。あなたはチームの新メンバーとして、イシューを割り当てられましたが、コードベースについてはまだ何も知らないとします。 それでは、以下のデモ動画に従って体験してみましょう。</p>
<p>&lt;!-- blank line --&gt;
&lt;figure class=&quot;video_container&quot;&gt;
&lt;iframe src=&quot;https://www.youtube.com/embed/uG9-QLAJrrg?si=kaOhYylMIaWkIuG8j&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;true&quot;&gt; &lt;/iframe&gt;
&lt;/figure&gt;
&lt;!-- blank line --&gt;</p>
<p><strong>ステップ1：プロジェクトを理解する</strong></p>
<p>ファイルやドキュメントを自分で探し回る代わりに、Agentic Chatに以下のように質問してみましょう。</p>
<pre><code class="language-unset">このプロジェクトは初めてです。構造を読んで説明してもらえますか？
</code></pre>
<p>Agentic Chatは、以下の方法でプロジェクトの全体像をわかりやすく示してくれます。</p>
<ul>
<li>ディレクトリ構造の探索</li>
<li>READMEファイルやドキュメントの読み取り</li>
<li>主要なコンポーネントやアプリケーションの特定</li>
</ul>
<p><strong>ステップ2：担当タスクを理解する</strong></p>
<p>次に、あなたが担当するタスクの内容を把握する必要があります。以下のように質問してみましょう。</p>
<pre><code class="language-unset">イシュー1119を担当することになりました。このタスクの内容を説明してもらえますか？特に、リファクタリングが必要な箇所はどこですか？
</code></pre>
<p>Agentic Chatは、以下の方法でタスクの説明とリファクタリングの提案を行ってくれます。</p>
<ul>
<li>リモートのGitLabサーバーからイシューの詳細を取得し、分析</li>
<li>関連するプロジェクトファイルの調査</li>
<li>変更が必要な箇所の特定</li>
</ul>
<p><strong>ステップ3：ソリューションを実装する</strong></p>
<p>手動で作業する代わりに、以下のようにリクエストできます。</p>
<pre><code class="language-unset">その編集を行ってもらえますか？ステップ1、2、3から始めてください。
</code></pre>
<p>Agentic Chatは以下のアクションを実行します。</p>
<ul>
<li>必要に応じて新しいディレクトリやファイルを作成</li>
<li>複数の場所にまたがってコードを抽出、リファクタリング</li>
<li>変更されたすべてのファイル間で一貫性を維持</li>
<li>行ったすべての変更の要約を報告</li>
</ul>
<p><strong>ステップ4：作業の完了を確認する</strong></p>
<p>マージリクエストを作成したら、最後に作業の完了を確認します。</p>
<pre><code class="language-unset">このマージリクエストはイシュー1119を完全に解決していますか？
</code></pre>
<p>Agentic Chatは、マージリクエストと元のイシューの内容を分析し、すべての要件が満たされているかどうかを検証してくれます。</p>
<h2>フィードバックをお待ちしています</h2>
<p>GitLab Duo Agentic Chatは現在、VS Codeの実験的機能として、GitLab Duo ProおよびEnterpriseユーザーの皆様にご利用いただけます。前提要件や設定手順については、<a href="https://docs.gitlab.com/user/gitlab_duo_chat/agentic_chat/">セットアップドキュメント</a>をご確認ください。</p>
<p>実験的な機能であるAgentic Chatにはいくつかの既知の制限があります。これには、複数のAPIコールによる応答時間の遅延、文脈理解による検索ではなくキーワードベースの検索の実行、新しいローカルフォルダやGitLab以外のプロジェクトに対するサポートの制限などが含まれます。現在GitLabは、これらの事項の改善に積極的に取り組んでいます。 <strong>皆さまからのフィードバックは、改善の優先順位を決め、Agentic Chatを一般公開へと導く上で非常に重要です。ぜひ、<a href="https://gitlab.com/gitlab-org/gitlab/-/issues/542198">こちらのイシュー</a>で皆さまの体験を共有してください。</strong></p>
<h2>今後の取り組み</h2>
<p>GitLabは、Agentic Chatの改善と一般公開へ向けた開発を全力で進めています。主な取り組みとして、応答速度の改善のほか、現在のGitLab Duo Chatで利用可能な各種機能をAgentic Chatでも使えるようにする作業があります。これには、セルフホストモデルのGitLab Duoとの統合や、VS Codeに加えてJetBrainsやVisual Studioをサポートする機能拡張が含まれます。Duo Chatをこの新しいアーキテクチャに切り替えた後は、GitLab Webアプリケーション内のチャットにもAgentic Chatを導入する予定です。 また、GitLabアーティファクトの編集、カスタムモデルコンテキストプロトコル（MCP）サーバーからのコンテキストの取得、ターミナルで実行できるコマンドの提供など、多くの新機能の追加も予定しています。</p>
<blockquote>
<p>まだGitLabをご利用でなくても、自律型の開発支援を今すぐ体験していただけます。<a href="https://about.gitlab.com/ja-jp/free-trial/">GitLab UltimateとGitLab Duo Enterpriseの無料トライアル</a>で、Agentic Chatを今すぐお試しください。AIを活用した開発の未来を一緒に形作りましょう。VS Codeでのセットアップ手順は、<a href="https://docs.gitlab.com/user/gitlab_duo_chat/agentic_chat/#use-agentic-chat-in-vs-code">こちら</a>からご確認いただけます。</p>
</blockquote>
<p><em><strong>免責事項：このブログには、今後の製品、機能、および機能性に関する情報が含まれています。本ブログ記事に含まれる情報は、情報提供のみを目的としている点にご留意ください。購入や計画の判断材料として使用することはお控えください。すべてのプロジェクトと同様に、このブログおよびリンク先のページに記載されている項目は、変更または遅延される場合があります。製品、機能、機能性の開発、リリース、およびタイミングに関する決定権は、GitLabに帰属します。</strong></em></p>
<h2>関連リンク</h2>
<ul>
<li><a href="https://about.gitlab.com/ja-jp/blog/gitlab-duo-workflow-enterprise-visibility-and-control-for-agentic-ai/">GitLab Duo Workflow：自律型AIに対するエンタープライズレベルの可視性と管理</a></li>
<li><a href="https://about.gitlab.com/ja-jp/topics/agentic-ai/">自律型AIとは？</a></li>
<li><a href="https://about.gitlab.com/blog/agentic-ai-guides-and-resources/">自律型AIに関するガイドとリソース</a>（英語）</li>
</ul>
]]></content>
        <author>
            <name>Torsten Linz</name>
            <uri>https://about.gitlab.com/blog/authors/torsten-linz</uri>
        </author>
        <published>2025-05-29T00:00:00.000Z</published>
    </entry>
</feed>