[{"data":1,"prerenderedAt":707},["ShallowReactive",2],{"/ja-jp/blog/ultimate-guide-to-ci-cd-fundamentals-to-advanced-implementation/":3,"navigation-ja-jp":41,"banner-ja-jp":455,"footer-ja-jp":467,"Sandra Gittlen":677,"next-steps-ja-jp":692},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"seo":8,"content":16,"config":30,"_id":34,"_type":35,"title":36,"_source":37,"_file":38,"_stem":39,"_extension":40},"/ja-jp/blog/ultimate-guide-to-ci-cd-fundamentals-to-advanced-implementation","blog",false,"",{"title":9,"description":10,"ogTitle":9,"ogDescription":10,"noIndex":6,"ogImage":11,"ogUrl":12,"ogSiteName":13,"ogType":14,"canonicalUrls":12,"schema":15},"CI/CD完全ガイド：基礎から高度な実装まで","パイプラインの開発、デリバリー、セキュリティまでを自動化した継続的インテグレーションおよび継続的デプロイの最新手法をご紹介します。","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749660151/Blog/Hero%20Images/blog-image-template-1800x945__26_.png","https://about.gitlab.com/blog/ultimate-guide-to-ci-cd-fundamentals-to-advanced-implementation","https://about.gitlab.com","article","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"CI/CD完全ガイド：基礎から高度な実装まで\",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"Sandra Gittlen\"}],\n        \"datePublished\": \"2025-01-06\",\n      }",{"title":9,"description":10,"authors":17,"heroImage":11,"date":19,"body":20,"category":21,"tags":22,"updatedDate":29},[18],"Sandra Gittlen","2025-01-06","継続的インテグレーション／継続的デリバリー（[CI/CD](https://about.gitlab.com/ja-jp/topics/ci-cd/)）によって、ソフトウェアチームがユーザー向けに価値を生み出す方法は大きく変わりました。手動によるデプロイやインテグレーションに煩わされていた時代は過ぎ去り、最新の開発においては自動化、信頼性、そしてスピードが求められています。\n\nCI/CDの本質は、開発環境から本番環境にいたるまでコードが自動的かつ信頼性高く実行され、リアルタイムでフィードバックを取り入れるシームレスなパイプラインを作成することです。[CI](https://about.gitlab.com/ja-jp/topics/ci-cd/benefits-continuous-integration/)の目的は、コードの変更を頻繁に共有リポジトリにマージし、自動的にテストし検証することで、問題解決に伴う余分なコストが生じる前にチームが問題を早期に発見できるようにすることです。[CD](https://about.gitlab.com/ja-jp/topics/ci-cd/#what-is-continuous-delivery-cd)はこれをさらに発展させ、デプロイプロセスを自動化することで、リリースを予測可能でストレスなく行えるようにします。\n\nソフトウェア開発において手作業のプロセスや複雑なツールチェーンに頼るのではなく、堅牢なCI/CDパイプラインを使用してソフトウェアをビルド、テスト、デプロイできます。また、AIによってプロセスの効率化をさらに進め、品質、コンプライアンス、セキュリティチェックの一貫性を保ちながら、CI/CDパイプラインを自動的に設計することが可能になります。\n\nこのガイドでは、基本原則からベストプラクティス、高度な戦略まで、最新のCI/CDパイプラインに関する内容を説明します。また、先進企業がCI/CDをどのように使用して効果的に成果をあげているかについても取り上げます。このガイドでご紹介する内容は、DevSecOps環境をスケールし、[アジャイル](https://about.gitlab.com/ja-jp/topics/ci-cd/continuous-integration-agile/)で自動化された効率的な方法でソフトウェアを開発し、デリバリーする上で役立ちます。\n\nご紹介する内容：\n- 継続的インテグレーションとは\n- 継続的なデリバリーとは\n- ソースコード管理とCI/CDの関係\n- 現代のソフトウェア開発においてCI/CDを利用するメリット\n  - CI/CDと従来の開発の主な相違点\n- CI/CDの基礎を理解する\n  - CI/CDパイプラインとは\n- CI/CDの実装と管理のベストプラクティス\n  - CIのベストプラクティス\n  - CDのベストプラクティス\n- CI/CDの開始方法\n- セキュリティ、コンプライアンス、CI/CD\n- CI/CDとクラウド\n- 高度なCI/CD\n  - CI/CDにおける再利用と自動化\n  - AIによるパイプラインのトラブルシューティング\n- GitLab CI/CDへの移行方法\n- 大手企業から学ぶ教訓\n- CI/CDのチュートリアル\n\n## 継続的インテグレーションとは\n\n[継続的インテグレーション](https://about.gitlab.com/ja-jp/topics/ci-cd/benefits-continuous-integration/)（CI）とは、すべてのコード変更を共有ソースコードリポジトリのmainブランチに早い段階で頻繁に統合し、コミットまたはマージ時に変更内容を自動的にテストし、自動的にビルドを開始する手法のことです。継続的インテグレーションを行うことで、チームはエラーやセキュリティの問題を開発プロセスの初期段階で簡単に特定し、修正できます。\n\n## 継続的デリバリーとは\n[継続的デリバリー](https://about.gitlab.com/ja-jp/topics/ci-cd/#what-is-continuous-delivery-cd)（CD）は、「*継続的デプロイ*」と呼ばれることもあります。継続的デリバリーを行うことで、組織はアプリケーションを自動的にデプロイできるため、デベロッパーがデプロイ状況のモニタリングと成功の確認に専念できる時間を増やすことができます。継続的デリバリーでは、DevSecOpsチームが事前にコードのリリース基準を設定します。その基準が満たされて検証が完了すると、本番環境にコードがデプロイされます。これにより組織は俊敏性を高め、新機能をもっと迅速にユーザーに提供できるようになります。\n\n## ソースコード管理とCI/CDの関係\n\nソースコード管理（[SCM](https://about.gitlab.com/ja-jp/solutions/source-code-management/)）とCI/CDは、現代のソフトウェア開発手法の基盤と言えます。[Git](https://about.gitlab.com/blog/what-is-git-the-ultimate-guide-to-gits-role-and-functionality/)のようなSCMシステムは、変更の追跡、コードの各バージョンの管理、チームメンバー間のコラボレーションをスムーズに連携させる一元的な仕組みになっています。デベロッパーは新機能やバグ修正に取り組む際に、メインコードベースからブランチを作成して変更を加え、[マージリクエスト経由で変更をマージ](https://docs.gitlab.com/ee/user/project/merge_requests/)します。このようなブランチ戦略により、複数のデベロッパーが互いのコードに干渉することなく同時に作業を進められるだけでなく、常に本番環境で使用可能なコードが含まれる、安定したmainブランチを維持できます。\n\nCI/CDは、SCMシステムで管理されているコードを取得し、変更がプッシュされるたびに自動的にビルド、テスト、および検証を行います。デベロッパーがコードの変更を提出すると、CI/CDシステムは自動的に最新のコードを取得し、既存のコードベースに追加して、一連の自動チェックを実行します。これには通常、コードのコンパイル、ユニットテストの実行、静的コード解析の実施、コードカバレッジのチェックが含まれます。これらのステップのいずれかが失敗すると、すぐにチームに通知されます。チームが迅速に問題に対処できるため、他のデベロッパーへの影響を最小限に抑え本番環境への問題流出も防ぐことができます。このようなソース管理と継続的インテグレーションの緊密な連携により、フィードバックループが自動化され、従来の手動テストでは発見が遅れがちだった問題も早期に捉えられるようになり、コードの品質を維持できます。\n\n## 現代のソフトウェア開発においてCI/CDを利用するメリット\n\n新機能やバグ修正の提供に伴う時間とリスクを大幅に削減する[CI/CDは、現代のソフトウェア開発に革新的なメリットをもたらします](https://about.gitlab.com/blog/ten-reasons-why-your-business-needs-ci-cd/)。継続的なフィードバックループにより、DevSecOpsチームには、変更がコードベース全体と照らし合わせて自動的に検証されることが保証されます。結果として、ソフトウェアの品質の向上、デリバリーの高速化の実現に加え、リリースの頻度も増加するため、ユーザーのニーズや市場の需要に素早く対応できるようになります。\n\n最も重要なメリットはおそらく、CI/CDによってソフトウェア開発チーム内でコラボレーションと透明性の文化が育まれることです。誰もがビルド、テスト、デプロイの状況をリアルタイムで確認できれば、デリバリープロセスにおけるボトルネックの特定や解決が容易になります。また、CI/CDによって実現される自動化により、デベロッパーの認知負荷が軽減されます。そのため、デプロイプロセスを手動で管理する必要がなくなり、コーディング作業に注力できるようになります。その結果、デベロッパーの満足度と生産性が向上するとともに、これまでソフトウェアのリリースプロセス全体において生じていたリスクも減少します。迅速なコードレビューがCI/CDプロセスの標準プロセスとなり、必要に応じて素早く変更をロールバックできることをチームが理解しているため、より自由に実験を行うことができ、イノベーションと継続的な改善が促進されます。\n\n> GitLab CI/CDの利用を開始しましょう。[GitLab Ultimate](https://about.gitlab.com/ja-jp/free-trial/devsecops/)に登録して、AI搭載のDevSecOpsプラットフォームを60日間無料でお試しください。\n\n### CI/CDと従来の開発の主な相違点\n\nCI/CDは、以下のような点で従来のソフトウェア開発とは異なります。\n\n**頻繁なコードコミット**\n\n大抵の場合、デベロッパーは単独で作業することが多く、コードをメインコードベースにアップロードする頻度が低いことから、マージの競合を始めとして、時間のかかる問題が発生しがちです。CI/CDの場合、デベロッパーは一日の中で頻繁にコミットをプッシュするため、競合を早いうちに発見でき、コードベースを最新の状態に保つことができます。\n\n**リスクの低減**\n\n長いテストサイクルとリリース前に行う大規模なプランニング作業は、従来のソフトウェア開発の特徴と言えます。リスクを最小化する目的で行われるものの、結果として問題の発見と修正の迅速さが犠牲になることも少なくありません。CI/CDでは、簡単に元に戻せる小規模の変更を段階的に適用し、注意深くモニタリングする方法でリスクを管理します。\n\n**継続的に実施される自動テスト**\n\n従来のソフトウェア開発では、開発が完了したタイミングでテストを行います。しかし、このやり方だと、納期の遅れやコストのかかるバグ修正などの問題が生じます。 CI/CDでは、コードをコミットするたびに自動テストが実行され、開発工程全体を通じて継続的にテストが行われます。さらに、デベロッパーにはタイムリーにフィードバックが提供されるため、それをもとに素早く対処できます。\n\n**繰り返し頻繁に実施可能で、自動化されたデプロイプロセス**\n\nCI/CDでは、デプロイプロセスは自動化されるため、大規模なソフトウェアのロールアウトに伴うストレスと手間が軽減されます。複数の環境で同じデプロイプロセスを繰り返し実行できるため、作業時間の短縮に加え、エラーや不整合を削減できます。\n\n## CI/CDの基礎を理解する\n\nCI/CDは、スケーラブルで保守しやすいデリバリープロセスを構築するためのフレームワークとして機能します。そのため、DevSecOpsチームが核となる概念をしっかりと把握しておくことは非常に重要です。CI/CDの原則を十分に理解することで、チームは従来のアプローチに縛られずに、テクノロジーの進化に合わせて戦略と手法を適応させることができます。ここでは、基本的な内容をいくつかご紹介します。\n\n### CI/CDパイプラインとは\n\n[CI/CDパイプライン](https://about.gitlab.com/ja-jp/topics/ci-cd/cicd-pipeline/)とは、ビルド、テスト、デプロイなどの一連のステップから成り、ソフトウェアデリバリープロセスを自動化および効率化するものです。[各ステージは品質ゲートとして機能し](https://about.gitlab.com/blog/guide-to-ci-cd-pipelines/)、検証されていないコードが次のステージに進むことのないように防ぎます。初期ステージでは通常、コンパイルやユニットテストなどの基本的なチェックを行います。後のほうのステージではインテグレーションテストやパフォーマンステスト、コンプライアンステストに加え、さまざまな環境への段階的なデプロイを行う場合があります。\n\n本番環境へのデプロイ前などの重要なタイミングでは、手動による承認を必要とするようにパイプラインを設定できます。その一方で、ルーチンタスクは自動化し、変更の健全性に関するフィードバックを迅速にデベロッパーに提供することが可能です。このような体系的なアプローチにより、一貫性の保証、ヒューマンエラーの削減の実現に加え、コード変更が開発環境から本番環境にどのように移行したかを明確に追跡できます。最新のパイプラインはコードとして実装されることが多いため、アプリケーションコードと同様に、バージョン管理、テスト、保守を行えます。\n\nCI/CDに関連する重要な用語をご紹介します。\n\n- **コミット**：コードの変更\n- **ジョブ**：Runnerが実行すべき命令\n- **Runner**：個々のジョブを実行するエージェントやサーバーで、必要に応じて起動または停止できる\n- **ステージ**：「ビルド」や「デプロイ」といった特定のジョブステージを定義するキーワード。同じステージにあるジョブは同時に実行される。プロジェクトのルートレベルでバージョン管理されたYAMLファイル（`.gitlab-ci.yml`）を使用して、パイプラインの設定を行う\n\n![CI/CDパイプラインの図](https://res.cloudinary.com/about-gitlab-com/image/upload/v1749673928/Blog/Content%20Images/1690824533476.png)\n\n## CI/CDの実装と管理のベストプラクティス\nCI/CDの実装によりどれだけ成功を収められるかどうかは、どの[ベストプラクティス](https://about.gitlab.com/ja-jp/blog/how-to-keep-up-with-ci-cd-best-practices/)を取り入れるかに大きく依存します。\n\n#### CIのベストプラクティス\n\n* コミットを早めかつ頻繁に行う\n* パイプラインステージを最適化する\n* ビルドを迅速かつシンプルに\n* 失敗を活かしてプロセスを改善する\n* 必ず本番環境を模したテスト環境を構築する\n\n#### CDのベストプラクティス\n\n* 現状からはじめる。いつでもイテレーションを行える\n* 最小限のツールで最適な継続的デリバリーを行えることを理解する\n* 問題やマージリクエストが制御不能ならないよう、何が起きているかを追跡する\n* 自動化によってユーザー受け入れテストとステージングを効率化する\n* 自動化を通じてリリースパイプラインを管理する\n\n> ### ブックマークに登録しましょう！\n>\n>ぜひ[「CI/CD入門」ウェビナー](https://www.youtube.com/watch?v=BhmF29sUc48)をご視聴ください。\n>\n\u003C!-- 空白行 -->\n\u003Cfigure class=\"video_container\">\n\u003Ciframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/BhmF29sUc48?si=vGF8wNdhyQof9aFC\" title=\"YouTube video player\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen>\u003C/iframe>\n\u003C/figure>\n\n\u003C!-- 空白行 -->\n\n## CI/CDの開始方法\n\nCI/CDを導入する際は、まずはパイロットプロジェクトとして、シンプルながら代表的なプロジェクトを選定する必要があります。基本的なテスト要件を備えた、シンプルなアプリケーションが最適です。そうすれば、複雑なデプロイシナリオに対処せずに済み、パイプラインの仕組みを学ぶことに集中できます。まずは、コードが[バージョン管理](https://about.gitlab.com/ja-jp/topics/version-control/)されており、[基本的な自動テスト](https://about.gitlab.com/blog/develop-c-unit-testing-with-catch2-junit-and-gitlab-ci/)（ユニットテストだけでも十分です）が設定されているかどうかを確認してください。理解度が深まるにつれて徐々に拡張できるように、[最小限のパイプラインを作成する](https://about.gitlab.com/blog/how-to-learn-ci-cd-fast/)ことを目指します。\n\nGitLabでは、具体的には、プロジェクトのルートディレクトリに`.gitlab-ci.yml`ファイルを作成することから始めます。このYAMLファイルでは、パイプラインのステージ（ビルド、テスト、デプロイなどの基本的なもの）とジョブを定義します。  \nシンプルなパイプラインの場合、  \nビルドステージではコードをコンパイルしてアーティファクトを作成  \nテストステージではユニットテストを実行  \nデプロイステージではアプリケーションをステージング環境にプッシュする  \nといった構成になります。  \nGitLabはこのファイルを自動的に検出し、リポジトリに変更がプッシュされるたびにパイプラインの実行を開始します。GitLabプラットフォームには、パイプラインジョブを実行する[ビルトインのRunner](https://docs.gitlab.com/runner/)が用意されていますが、より細かく制御したい場合はご自身でRunnerを設定することも可能です。\n\n基本に慣れてきたら、少しずつより高度なコンポーネントをパイプラインに追加していきます。コード品質チェック、[セキュリティスキャン](https://docs.gitlab.com/ee/user/application_security/#security-scanning)、本番環境への自動デプロイなどを実装してみてもよいかもしれません。GitLabのDevSecOpsプラットフォームには、[コンプライアンス管理](https://about.gitlab.com/blog/meet-regulatory-standards-with-gitlab/)、[デプロイ変数](https://about.gitlab.com/blog/demystifying-ci-cd-variables/)、手動での承認ゲートなど、パイプラインの成熟に伴って組み込むことができる機能が含まれます。パイプラインの実行時間に注意しつつ、可能であれば並行してジョブを実行できる箇所を探しましょう。必ず適切なエラー処理と通知を追加して、パイプラインが失敗した場合にチームメンバーに速やかに通知されるようにします。一般的な問題が生じたり、解決策が見つかったりしたら、文書化するようにしましょう。ドキュメントはチーム規模が拡大するにつれ非常に役に立ちます。\n\n> ### CI/CDの開始方法についてさらに詳しく知りたい場合は、[GitLab Universityで無料のCI/CDコース](https://university.gitlab.com/courses/gitlab-with-git-essentials-s2-jp)にご登録ください\n\n## セキュリティ、コンプライアンス、CI/CD\nCI/CDを利用する最大のメリットの1つは、ソフトウェア開発ライフサイクルの早い段階において頻繁にセキュリティとコンプライアンスのチェックを組み込めることです。GitLabでは、`.gitlab-ci.yml`での設定を用いて、最初のコードコミットから本番環境へのデプロイまで複数のステージでセキュリティスキャンを自動的にトリガーすることができます。GitLabプラットフォームのコンテナスキャン、依存関係スキャン、セキュリティスキャン機能（[動的アプリケーションセキュリティテスト](https://docs.gitlab.com/ee/user/application_security/dast/)および[高度なSAST](https://about.gitlab.com/blog/gitlab-advanced-sast-is-now-generally-available/)）は、コードが変更されるたびに自動的に実行され、脆弱性、コンプライアンス違反、セキュリティの設定ミスの有無をチェックするように設定できます。また、GitLabプラットフォームのAPIを使用すると、[外部のセキュリティツールとの連携も可能です](https://about.gitlab.com/blog/integrate-external-security-scanners-into-your-devsecops-workflow/)。テストカバレッジ機能は、セキュリティテストが必要な基準を満たしているかを確認できます。\n\nGitLabのセキュリティテストレポートでは、調査結果に関する詳細情報を確認できるため、セキュリティ問題が本番環境に到達する前に素早く修正できます。プロジェクト全体における脆弱性は、セキュリティダッシュボードで一元的に確認でき、[セキュリティポリシーの適用](https://about.gitlab.com/blog/how-gitlab-supports-the-nsa-and-cisa-cicd-security-guidance/)は、マージリクエストの承認とパイプラインゲートによって行えます。さらに、CI/CDプロセス全体で機密情報を保護するための多層的なシークレット管理、シークレットへのアクセスを追跡するための監査ログ、許可されたユーザのみが機密性の高い設定データを閲覧または変更できるようにするロールベースのアクセス制御（RBAC）などの機能も備えています。\n\nGitLabはソフトウェア部品表（[SBOM](https://about.gitlab.com/blog/the-ultimate-guide-to-sboms/)）の生成もサポートしています。チームは、アプリケーション内のすべてのソフトウェアコンポーネント、依存関係、ライセンスの包括的なインベントリを生成して、脆弱性を迅速に特定して対応し、規制要件に準拠することが可能です。\n## CI/CDとクラウド\n\nGitLabのCI/CDプラットフォームは、[Amazon Web Services](https://about.gitlab.com/ja-jp/partners/technology-partners/aws/)や[Google Cloud Platform](https://about.gitlab.com/blog/provision-group-runners-with-google-cloud-platform-and-gitlab-ci/)、[Microsoft Azure](https://docs.gitlab.com/ee/install/azure/)などの主要クラウドプロバイダーとの強力なインテグレーションが可能なため、パイプラインから直接クラウドへのデプロイを自動化することができます。GitLabのクラウド連携機能を使用すれば、クラウドリソースの管理、アプリケーションのデプロイ、クラウドサービスのモニタリングをすべてGitLabインターフェイス内で行えます。GitLabに標準搭載されているクラウドデプロイテンプレートと[Auto DevOps](https://docs.gitlab.com/ee/topics/autodevops/)機能により、クラウドデプロイの手間が大幅に軽減されるため、チームはインフラ管理よりもアプリケーション開発に注力できます。GitOpsを使用してITインフラストラクチャを自動化したい組織向けに、GitLabでは[Flux CDインテグレーションも提供しています](https://about.gitlab.com/blog/why-did-we-choose-to-integrate-fluxcd-with-gitlab/)。\n\nGitLabのクラウド機能は、基本的なデプロイの自動化にとどまりません。GitLabプラットフォームの[Kubernetesインテグレーション](https://about.gitlab.com/blog/kubernetes-overview-operate-cluster-data-on-the-frontend/)を使用すると、複数のクラウドプロバイダー間でコンテナオーケストレーションを管理できます。また、[クラウドネイティブのGitLabインストールオプション](https://about.gitlab.com/ja-jp/topics/ci-cd/cloud-native-continuous-integration/)が用意されているため、クラウド環境でプラットフォーム自体を実行することも可能です。GitLabのクラウドネイティブ機能により、チームはパイプライン実行用にクラウドリソースを動的にプロビジョニングする自動スケーリングランナーを実装して、コストとパフォーマンスを最適化できます。GitLabプラットフォームとクラウドプロバイダーのセキュリティサービスとのインテグレーションにより、デプロイプロセス全体を通してセキュリティとコンプライアンスの要件が確実に満たされます。\n\nGitLabはマルチクラウド環境向けには、基盤となるクラウドプロバイダーに関係なく一貫したワークフローとツールを提供します。開発環境、ステージング環境、本番環境でそれぞれ異なるクラウド設定を管理したい場合もGitLabの環境管理機能で対応可能です。GitLabプラットフォームによる[infrastructure as code](https://docs.gitlab.com/ee/user/infrastructure/iac/)のサポート、特にTerraformとのネイティブなインテグレーションにより、チームは、クラウドインフラストラクチャのプロビジョニングをバージョン管理し自動化できます。GitLabのモニタリングと可観測性の機能は、クラウドプロバイダーのメトリクスと連携しているため、ク\n\n## 高度なCI/CD \nCI/CDは、単純なビルドとデプロイのパイプラインからはるかに進化を遂げてきました。CI/CDを高度に実装する場合、自動テスト、セキュリティスキャン、インフラストラクチャのプロビジョニング、AI活用など、高度なオーケストレーションが必要となります。ここでは、アーキテクチャが複雑化していく中でも、エンジニアリングチームがパイプラインをスケールし、問題をトラブルシューティングする際に役立つ高度なCI/CD戦略をいくつかご紹介します。\n\n### CI/CDにおける再利用と自動化\n\nGitLabは、開発チームによるCI/CDパイプラインの作成・管理方法を2つの革新的な機能で一新しています。一つは「[CI/CDカタログ](https://about.gitlab.com/blog/ci-cd-catalog-goes-ga-no-more-building-pipelines-from-scratch/)」、もう一つは「[CI/CDステップ](https://about.gitlab.com/blog/introducing-ci-cd-steps-a-programming-language-for-devsecops-automation/)」（現在、実験段階にあるDevSecOps自動化のための新しいプログラミング言語）です。CI/CDカタログは、デベロッパーがCI/CDコンポーネントを検索、再利用、コントリビュートできる一元化されたプラットフォームです。コンポーネントは、CI/CDワークフローにおける「レゴブロック」のような再利用可能な単機能パーツとして、パイプライン設定を簡素化します。また、CI/CDステップは、デベロッパーがCI/CDジョブの入出力を設定できるようにすることで、複雑なワークフローをサポートします。DevSecOpsチームはCI/CDカタログとCI/CDステップを活用することで、CI/CDとそのコンポーネントを簡単に標準化すると同時に、CI/CDパイプラインの開発と保守のプロセスを簡素化できます。\n\n> 詳しくは、[CI/CDカタログのFAQ](https://about.gitlab.com/blog/faq-gitlab-ci-cd-catalog/)と[CI/CDステップのドキュメント](https://docs.gitlab.com/ee/ci/steps/)をご覧ください。\n\n### AIによるパイプラインのトラブルシューティング\n\nCI/CDパイプラインが壊れることは実際にあり得ますが、問題を素早くトラブルシューティングすれば、影響を最小限にとどめられます。GitLabが提供するAI機能「GitLab Duo」の一つである「根本原因分析」は、これまでデベロッパーの経験や勘に頼っていた部分を自動化し、[CI/CDパイプラインで発生した失敗の根本原因を特定](https://about.gitlab.com/blog/quickly-resolve-broken-ci-cd-pipelines-with-ai/)します。GitLabでは、パイプラインが失敗すると、失敗した場所と原因を具体的に示す詳細なジョブログ、エラーメッセージ、実行トレースが提供されます。その後、根本原因分析により、AIを使用して修正を提案します。 以下の動画で、GitLab Duo根本原因分析機能の実際の動作をご覧ください。\n\n\u003C!-- 空白行 -->\n\u003Cfigure class=\"video_container\">\n\u003Ciframe src=\"https://www.youtube.com/embed/sTpSLwX5DIs?si=J6-0Bf6PtYjrHX1K\" frameborder=\"0\" allowfullscreen=\"true\"> \u003C/iframe>\n\u003C/figure>\n\u003C!-- 空白行 -->\n\n## GitLab CI/CDへの移行方法\n\nDevSecOpsプラットフォームとビルトインのCI/CDに移行する際は、既存のパイプライン設定や依存関係、デプロイプロセスを分析し、GitLabの対応する機能と構文にマッピングする体系的なアプローチを取る必要があります。移行プロセスを開始する際は、以下のガイドをご参照ください。\n\n* [BambooからGitLab CI/CDへの移行方法](https://about.gitlab.com/blog/migrating-from-bamboo-to-gitlab-cicd/)（英語）\n* [JenkinsからGitLabへ：CI/CD環境のモダナイズに関する完全ガイド](https://about.gitlab.com/blog/jenkins-gitlab-ultimate-guide-to-modernizing-cicd-environment/)（英語）\n* [GitHubからGitLabへの簡単な移行方法](https://about.gitlab.com/blog/github-to-gitlab-migration-made-easy/)（英語）\n\n## 先進企業から学ぶ教訓\n\nGitLab に移行し、CI/CD の様々なメリットを実感している先進企業の事例をご紹介します。各社の事例をぜひご覧ください。\n\n- [ロッキード・マーティン社](https://about.gitlab.com/ja-jp/customers/lockheed-martin/)\n- [Indeed社](https://about.gitlab.com/ja-jp/blog/how-indeed-transformed-its-ci-platform-with-gitlab/)\n- [CARFAX社](https://about.gitlab.com/ja-jp/customers/carfax/)\n- [HackerOne社](https://about.gitlab.com/ja-jp/customers/hackerone/)\n- [Betstudios社](https://about.gitlab.com/blog/betstudios-cto-on-improving-ci-cd-capabilities-with-gitlab-premium/)\n- [タレス社とカルフール社](https://about.gitlab.com/blog/how-carrefour-and-thales-are-evolving-their-ci-cd-platforms/)\n\n## CI/CDのチュートリアル\n\n以下にご紹介する簡単なチュートリアルを行って、CI/CDのエキスパートになりましょう。\n\n* * [CI入門：ジョブを順番どおりに、並列に、または順不同で実行する方法](https://about.gitlab.com/ja-jp/blog/basics-of-gitlab-ci-updated/)  \n* [初めてのGitLab CI/CDコンポーネントのセットアップ方法](https://about.gitlab.com/blog/tutorial-how-to-set-up-your-first-gitlab-ci-cd-component/)（英語）  \n* [モノレポ用にGitLab CI/CDパイプラインを簡単に構築する方法](https://about.gitlab.com/blog/building-a-gitlab-ci-cd-pipeline-for-a-monorepo-the-easy-way/)（英語）  \n* [子パイプラインの使用による5つの環境への継続的デプロイメント](https://about.gitlab.com/blog/using-child-pipelines-to-continuously-deploy-to-five-environments/)（英語）  \n* [CI/CDの自動化：GitLabグループ全体で「デプロイフリーズ」の影響を最大化する](https://about.gitlab.com/blog/ci-cd-automation-maximize-deploy-freeze-impact-across-gitlab-groups/)（英語）  \n* [CI/CDテンプレートをCI/CDコンポーネントにリファクタリングする](https://about.gitlab.com/blog/refactoring-a-ci-cd-template-to-a-ci-cd-component/)（英語）  \n* [GitLab CI/CDでCosignを使ってコンテナイメージにビルドの来歴を付ける](https://about.gitlab.com/blog/annotate-container-images-with-build-provenance-using-cosign-in-gitlab-ci-cd)（英語）\n\n> #### GitLab CI/CDの利用を開始しましょう。[GitLab Ultimateに登録](https://gitlab.com/-/trials/new)して、AI搭載のDevSecOpsプラットフォームを60日間無料でお試しください。\n\n\u003Cbr>\u003Cbr>\u003Cbr>\n\n*監修：小松原 つかさ  [@tkomatsubara](https://gitlab.com/tkomatsubara)\u003Cbr>\n（GitLab合同会社 ソリューションアーキテクト本部 シニアパートナーソリューションアーキテクト）*","devsecops",[23,24,25,26,27,28],"CI/CD","DevSecOps","DevSecOps platform","tutorial","security","product","2025-05-26",{"slug":31,"featured":32,"template":33},"ultimate-guide-to-ci-cd-fundamentals-to-advanced-implementation",true,"BlogPost","content:ja-jp:blog:ultimate-guide-to-ci-cd-fundamentals-to-advanced-implementation.yml","yaml","Ultimate Guide To Ci Cd Fundamentals To Advanced Implementation","content","ja-jp/blog/ultimate-guide-to-ci-cd-fundamentals-to-advanced-implementation.yml","ja-jp/blog/ultimate-guide-to-ci-cd-fundamentals-to-advanced-implementation","yml",{"_path":42,"_dir":43,"_draft":6,"_partial":6,"_locale":7,"data":44,"_id":451,"_type":35,"title":452,"_source":37,"_file":453,"_stem":454,"_extension":40},"/shared/ja-jp/main-navigation","ja-jp",{"logo":45,"freeTrial":50,"sales":55,"login":60,"items":65,"search":395,"minimal":429,"duo":442},{"config":46},{"href":47,"dataGaName":48,"dataGaLocation":49},"/ja-jp/","gitlab logo","header",{"text":51,"config":52},"無料トライアルを開始",{"href":53,"dataGaName":54,"dataGaLocation":49},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com&glm_content=default-saas-trial/","free trial",{"text":56,"config":57},"お問い合わせ",{"href":58,"dataGaName":59,"dataGaLocation":49},"/ja-jp/sales/","sales",{"text":61,"config":62},"サインイン",{"href":63,"dataGaName":64,"dataGaLocation":49},"https://gitlab.com/users/sign_in/","sign in",[66,110,207,212,317,377],{"text":67,"config":68,"cards":70,"footer":93},"プラットフォーム",{"dataNavLevelOne":69},"platform",[71,77,85],{"title":67,"description":72,"link":73},"最も包括的かつAIで強化されたDevSecOpsプラットフォーム",{"text":74,"config":75},"プラットフォームを詳しく見る",{"href":76,"dataGaName":69,"dataGaLocation":49},"/ja-jp/platform/",{"title":78,"description":79,"link":80},"GitLab Duo（AI）","開発のすべてのステージでAIを活用し、ソフトウェアをより迅速にビルド",{"text":81,"config":82},"GitLab Duoのご紹介",{"href":83,"dataGaName":84,"dataGaLocation":49},"/ja-jp/gitlab-duo/","gitlab duo ai",{"title":86,"description":87,"link":88},"GitLabが選ばれる理由","GitLabが大企業に選ばれる理由10選",{"text":89,"config":90},"詳細はこちら",{"href":91,"dataGaName":92,"dataGaLocation":49},"/ja-jp/why-gitlab/","why gitlab",{"title":94,"items":95},"利用を開始：",[96,101,106],{"text":97,"config":98},"プラットフォームエンジニアリング",{"href":99,"dataGaName":100,"dataGaLocation":49},"/ja-jp/solutions/platform-engineering/","platform engineering",{"text":102,"config":103},"開発者の経験",{"href":104,"dataGaName":105,"dataGaLocation":49},"/ja-jp/developer-experience/","Developer experience",{"text":107,"config":108},"MLOps",{"href":109,"dataGaName":107,"dataGaLocation":49},"/ja-jp/topics/devops/the-role-of-ai-in-devops/",{"text":111,"left":32,"config":112,"link":114,"lists":118,"footer":189},"製品",{"dataNavLevelOne":113},"solutions",{"text":115,"config":116},"すべてのソリューションを表示",{"href":117,"dataGaName":113,"dataGaLocation":49},"/ja-jp/solutions/",[119,144,167],{"title":120,"description":121,"link":122,"items":127},"自動化","CI/CDと自動化でデプロイを加速",{"config":123},{"icon":124,"href":125,"dataGaName":126,"dataGaLocation":49},"AutomatedCodeAlt","/ja-jp/solutions/delivery-automation/","automated software delivery",[128,131,135,140],{"text":23,"config":129},{"href":130,"dataGaLocation":49,"dataGaName":23},"/ja-jp/solutions/continuous-integration/",{"text":132,"config":133},"AIアシストによる開発",{"href":83,"dataGaLocation":49,"dataGaName":134},"AI assisted development",{"text":136,"config":137},"ソースコード管理",{"href":138,"dataGaLocation":49,"dataGaName":139},"/ja-jp/solutions/source-code-management/","Source Code Management",{"text":141,"config":142},"自動化されたソフトウェアデリバリー",{"href":125,"dataGaLocation":49,"dataGaName":143},"Automated software delivery",{"title":145,"description":146,"link":147,"items":152},"セキュリティ","セキュリティを損なうことなくコードをより迅速に完成",{"config":148},{"href":149,"dataGaName":150,"dataGaLocation":49,"icon":151},"/ja-jp/solutions/security-compliance/","security and compliance","ShieldCheckLight",[153,157,162],{"text":154,"config":155},"セキュリティとコンプライアンス",{"href":149,"dataGaLocation":49,"dataGaName":156},"Security & Compliance",{"text":158,"config":159},"ソフトウェアサプライチェーンの安全性",{"href":160,"dataGaLocation":49,"dataGaName":161},"/ja-jp/solutions/supply-chain/","Software supply chain security",{"text":163,"config":164},"コンプライアンスとガバナンス",{"href":165,"dataGaLocation":49,"dataGaName":166},"/ja-jp/solutions/continuous-software-compliance/","Compliance and governance",{"title":168,"link":169,"items":174},"測定",{"config":170},{"icon":171,"href":172,"dataGaName":173,"dataGaLocation":49},"DigitalTransformation","/ja-jp/solutions/visibility-measurement/","visibility and measurement",[175,179,184],{"text":176,"config":177},"可視性と測定",{"href":172,"dataGaLocation":49,"dataGaName":178},"Visibility and Measurement",{"text":180,"config":181},"バリューストリーム管理",{"href":182,"dataGaLocation":49,"dataGaName":183},"/ja-jp/solutions/value-stream-management/","Value Stream Management",{"text":185,"config":186},"分析とインサイト",{"href":187,"dataGaLocation":49,"dataGaName":188},"/ja-jp/solutions/analytics-and-insights/","Analytics and insights",{"title":190,"items":191},"GitLabが活躍する場所",[192,197,202],{"text":193,"config":194},"Enterprise",{"href":195,"dataGaLocation":49,"dataGaName":196},"/ja-jp/enterprise/","enterprise",{"text":198,"config":199},"スモールビジネス",{"href":200,"dataGaLocation":49,"dataGaName":201},"/ja-jp/small-business/","small business",{"text":203,"config":204},"公共機関",{"href":205,"dataGaLocation":49,"dataGaName":206},"/ja-jp/solutions/public-sector/","public sector",{"text":208,"config":209},"価格",{"href":210,"dataGaName":211,"dataGaLocation":49,"dataNavLevelOne":211},"/ja-jp/pricing/","pricing",{"text":213,"config":214,"link":216,"lists":220,"feature":304},"関連リソース",{"dataNavLevelOne":215},"resources",{"text":217,"config":218},"すべてのリソースを表示",{"href":219,"dataGaName":215,"dataGaLocation":49},"/ja-jp/resources/",[221,254,276],{"title":222,"items":223},"はじめに",[224,229,234,239,244,249],{"text":225,"config":226},"インストール",{"href":227,"dataGaName":228,"dataGaLocation":49},"/ja-jp/install/","install",{"text":230,"config":231},"クイックスタートガイド",{"href":232,"dataGaName":233,"dataGaLocation":49},"/ja-jp/get-started/","quick setup checklists",{"text":235,"config":236},"学ぶ",{"href":237,"dataGaLocation":49,"dataGaName":238},"https://university.gitlab.com/","learn",{"text":240,"config":241},"製品ドキュメント",{"href":242,"dataGaName":243,"dataGaLocation":49},"https://docs.gitlab.com/","product documentation",{"text":245,"config":246},"ベストプラクティスビデオ",{"href":247,"dataGaName":248,"dataGaLocation":49},"/ja-jp/getting-started-videos/","best practice videos",{"text":250,"config":251},"インテグレーション",{"href":252,"dataGaName":253,"dataGaLocation":49},"/ja-jp/integrations/","integrations",{"title":255,"items":256},"検索する",[257,262,266,271],{"text":258,"config":259},"お客様成功事例",{"href":260,"dataGaName":261,"dataGaLocation":49},"/ja-jp/customers/","customer success stories",{"text":263,"config":264},"ブログ",{"href":265,"dataGaName":5,"dataGaLocation":49},"/ja-jp/blog/",{"text":267,"config":268},"リモート",{"href":269,"dataGaName":270,"dataGaLocation":49},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"text":272,"config":273},"TeamOps",{"href":274,"dataGaName":275,"dataGaLocation":49},"/ja-jp/teamops/","teamops",{"title":277,"items":278},"つなげる",[279,284,289,294,299],{"text":280,"config":281},"GitLabサービス",{"href":282,"dataGaName":283,"dataGaLocation":49},"/ja-jp/services/","services",{"text":285,"config":286},"コミュニティ",{"href":287,"dataGaName":288,"dataGaLocation":49},"/community/","community",{"text":290,"config":291},"フォーラム",{"href":292,"dataGaName":293,"dataGaLocation":49},"https://forum.gitlab.com/","forum",{"text":295,"config":296},"イベント",{"href":297,"dataGaName":298,"dataGaLocation":49},"/events/","events",{"text":300,"config":301},"パートナー",{"href":302,"dataGaName":303,"dataGaLocation":49},"/ja-jp/partners/","partners",{"backgroundColor":305,"textColor":306,"text":307,"image":308,"link":312},"#2f2a6b","#fff","ソフトウェア開発の未来への洞察",{"altText":309,"config":310},"ソースプロモカード",{"src":311},"/images/navigation/the-source-promo-card.svg",{"text":313,"config":314},"最新情報を読む",{"href":315,"dataGaName":316,"dataGaLocation":49},"/ja-jp/the-source/","the source",{"text":318,"config":319,"lists":321},"Company",{"dataNavLevelOne":320},"company",[322],{"items":323},[324,329,335,337,342,347,352,357,362,367,372],{"text":325,"config":326},"GitLabについて",{"href":327,"dataGaName":328,"dataGaLocation":49},"/ja-jp/company/","about",{"text":330,"config":331,"footerGa":334},"採用情報",{"href":332,"dataGaName":333,"dataGaLocation":49},"/jobs/","jobs",{"dataGaName":333},{"text":295,"config":336},{"href":297,"dataGaName":298,"dataGaLocation":49},{"text":338,"config":339},"経営陣",{"href":340,"dataGaName":341,"dataGaLocation":49},"/company/team/e-group/","leadership",{"text":343,"config":344},"チーム",{"href":345,"dataGaName":346,"dataGaLocation":49},"/company/team/","team",{"text":348,"config":349},"ハンドブック",{"href":350,"dataGaName":351,"dataGaLocation":49},"https://handbook.gitlab.com/","handbook",{"text":353,"config":354},"投資家向け情報",{"href":355,"dataGaName":356,"dataGaLocation":49},"https://ir.gitlab.com/","investor relations",{"text":358,"config":359},"トラストセンター",{"href":360,"dataGaName":361,"dataGaLocation":49},"/ja-jp/security/","trust center",{"text":363,"config":364},"AI Transparency Center",{"href":365,"dataGaName":366,"dataGaLocation":49},"/ja-jp/ai-transparency-center/","ai transparency center",{"text":368,"config":369},"ニュースレター",{"href":370,"dataGaName":371,"dataGaLocation":49},"/company/contact/","newsletter",{"text":373,"config":374},"プレス",{"href":375,"dataGaName":376,"dataGaLocation":49},"/press/","press",{"text":56,"config":378,"lists":379},{"dataNavLevelOne":320},[380],{"items":381},[382,385,390],{"text":56,"config":383},{"href":58,"dataGaName":384,"dataGaLocation":49},"talk to sales",{"text":386,"config":387},"サポートを受ける",{"href":388,"dataGaName":389,"dataGaLocation":49},"/support/","get help",{"text":391,"config":392},"カスタマーポータル",{"href":393,"dataGaName":394,"dataGaLocation":49},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":396,"login":397,"suggestions":404},"閉じる",{"text":398,"link":399},"リポジトリとプロジェクトを検索するには、次にログインします",{"text":400,"config":401},"GitLab.com",{"href":63,"dataGaName":402,"dataGaLocation":403},"search login","search",{"text":405,"default":406},"提案",[407,410,415,417,421,425],{"text":78,"config":408},{"href":83,"dataGaName":409,"dataGaLocation":403},"GitLab Duo (AI)",{"text":411,"config":412},"コード提案（AI）",{"href":413,"dataGaName":414,"dataGaLocation":403},"/ja-jp/solutions/code-suggestions/","Code Suggestions (AI)",{"text":23,"config":416},{"href":130,"dataGaName":23,"dataGaLocation":403},{"text":418,"config":419},"GitLab on AWS",{"href":420,"dataGaName":418,"dataGaLocation":403},"/ja-jp/partners/technology-partners/aws/",{"text":422,"config":423},"GitLab on Google Cloud",{"href":424,"dataGaName":422,"dataGaLocation":403},"/ja-jp/partners/technology-partners/google-cloud-platform/",{"text":426,"config":427},"GitLabを選ぶ理由",{"href":91,"dataGaName":428,"dataGaLocation":403},"Why GitLab?",{"freeTrial":430,"mobileIcon":434,"desktopIcon":439},{"text":51,"config":431},{"href":432,"dataGaName":54,"dataGaLocation":433},"https://gitlab.com/-/trials/new/","nav",{"altText":435,"config":436},"GitLabアイコン",{"src":437,"dataGaName":438,"dataGaLocation":433},"/images/brand/gitlab-logo-tanuki.svg","gitlab icon",{"altText":435,"config":440},{"src":441,"dataGaName":438,"dataGaLocation":433},"/images/brand/gitlab-logo-type.svg",{"freeTrial":443,"mobileIcon":447,"desktopIcon":449},{"text":444,"config":445},"GitLab Duoの詳細について",{"href":83,"dataGaName":446,"dataGaLocation":433},"gitlab duo",{"altText":435,"config":448},{"src":437,"dataGaName":438,"dataGaLocation":433},{"altText":435,"config":450},{"src":441,"dataGaName":438,"dataGaLocation":433},"content:shared:ja-jp:main-navigation.yml","Main Navigation","shared/ja-jp/main-navigation.yml","shared/ja-jp/main-navigation",{"_path":456,"_dir":43,"_draft":6,"_partial":6,"_locale":7,"title":457,"button":458,"config":462,"_id":464,"_type":35,"_source":37,"_file":465,"_stem":466,"_extension":40},"/shared/ja-jp/banner","GitLab Duo Agent Platformがパブリックベータ版で利用可能になりました！",{"text":89,"config":459},{"href":460,"dataGaName":461,"dataGaLocation":49},"/ja-jp/gitlab-duo/agent-platform/","duo banner",{"layout":463},"release","content:shared:ja-jp:banner.yml","shared/ja-jp/banner.yml","shared/ja-jp/banner",{"_path":468,"_dir":43,"_draft":6,"_partial":6,"_locale":7,"data":469,"_id":673,"_type":35,"title":674,"_source":37,"_file":675,"_stem":676,"_extension":40},"/shared/ja-jp/main-footer",{"text":470,"source":471,"edit":477,"contribute":482,"config":487,"items":492,"minimal":665},"GitはSoftware Freedom Conservancyの商標です。当社は「GitLab」をライセンスに基づいて使用しています",{"text":472,"config":473},"ページのソースを表示",{"href":474,"dataGaName":475,"dataGaLocation":476},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":478,"config":479},"このページを編集",{"href":480,"dataGaName":481,"dataGaLocation":476},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":483,"config":484},"ご協力をお願いします",{"href":485,"dataGaName":486,"dataGaLocation":476},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":488,"facebook":489,"youtube":490,"linkedin":491},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[493,516,570,603,637],{"title":67,"links":494,"subMenu":499},[495],{"text":496,"config":497},"DevSecOpsプラットフォーム",{"href":76,"dataGaName":498,"dataGaLocation":476},"devsecops platform",[500],{"title":208,"links":501},[502,506,511],{"text":503,"config":504},"プランの表示",{"href":210,"dataGaName":505,"dataGaLocation":476},"view plans",{"text":507,"config":508},"Premiumを選ぶ理由",{"href":509,"dataGaName":510,"dataGaLocation":476},"/ja-jp/pricing/premium/","why premium",{"text":512,"config":513},"Ultimateを選ぶ理由",{"href":514,"dataGaName":515,"dataGaLocation":476},"/ja-jp/pricing/ultimate/","why ultimate",{"title":517,"links":518},"ソリューション",[519,524,527,529,534,539,543,546,549,554,556,558,560,565],{"text":520,"config":521},"デジタルトランスフォーメーション",{"href":522,"dataGaName":523,"dataGaLocation":476},"/ja-jp/topics/digital-transformation/","digital transformation",{"text":154,"config":525},{"href":149,"dataGaName":526,"dataGaLocation":476},"security & compliance",{"text":141,"config":528},{"href":125,"dataGaName":126,"dataGaLocation":476},{"text":530,"config":531},"アジャイル開発",{"href":532,"dataGaName":533,"dataGaLocation":476},"/ja-jp/solutions/agile-delivery/","agile delivery",{"text":535,"config":536},"クラウドトランスフォーメーション",{"href":537,"dataGaName":538,"dataGaLocation":476},"/ja-jp/topics/cloud-native/","cloud transformation",{"text":540,"config":541},"SCM",{"href":138,"dataGaName":542,"dataGaLocation":476},"source code management",{"text":23,"config":544},{"href":130,"dataGaName":545,"dataGaLocation":476},"continuous integration & delivery",{"text":180,"config":547},{"href":182,"dataGaName":548,"dataGaLocation":476},"value stream management",{"text":550,"config":551},"GitOps",{"href":552,"dataGaName":553,"dataGaLocation":476},"/ja-jp/solutions/gitops/","gitops",{"text":193,"config":555},{"href":195,"dataGaName":196,"dataGaLocation":476},{"text":198,"config":557},{"href":200,"dataGaName":201,"dataGaLocation":476},{"text":203,"config":559},{"href":205,"dataGaName":206,"dataGaLocation":476},{"text":561,"config":562},"教育",{"href":563,"dataGaName":564,"dataGaLocation":476},"/ja-jp/solutions/education/","education",{"text":566,"config":567},"金融サービス",{"href":568,"dataGaName":569,"dataGaLocation":476},"/ja-jp/solutions/finance/","financial services",{"title":213,"links":571},[572,574,576,578,581,583,587,589,591,593,595,597,599,601],{"text":225,"config":573},{"href":227,"dataGaName":228,"dataGaLocation":476},{"text":230,"config":575},{"href":232,"dataGaName":233,"dataGaLocation":476},{"text":235,"config":577},{"href":237,"dataGaName":238,"dataGaLocation":476},{"text":240,"config":579},{"href":242,"dataGaName":580,"dataGaLocation":476},"docs",{"text":263,"config":582},{"href":265,"dataGaName":5},{"text":584,"config":585},"お客様の成功事例",{"href":586,"dataGaLocation":476},"/customers/",{"text":258,"config":588},{"href":260,"dataGaName":261,"dataGaLocation":476},{"text":267,"config":590},{"href":269,"dataGaName":270,"dataGaLocation":476},{"text":280,"config":592},{"href":282,"dataGaName":283,"dataGaLocation":476},{"text":272,"config":594},{"href":274,"dataGaName":275,"dataGaLocation":476},{"text":285,"config":596},{"href":287,"dataGaName":288,"dataGaLocation":476},{"text":290,"config":598},{"href":292,"dataGaName":293,"dataGaLocation":476},{"text":295,"config":600},{"href":297,"dataGaName":298,"dataGaLocation":476},{"text":300,"config":602},{"href":302,"dataGaName":303,"dataGaLocation":476},{"title":318,"links":604},[605,607,609,611,613,615,617,621,626,628,630,632],{"text":325,"config":606},{"href":327,"dataGaName":320,"dataGaLocation":476},{"text":330,"config":608},{"href":332,"dataGaName":333,"dataGaLocation":476},{"text":338,"config":610},{"href":340,"dataGaName":341,"dataGaLocation":476},{"text":343,"config":612},{"href":345,"dataGaName":346,"dataGaLocation":476},{"text":348,"config":614},{"href":350,"dataGaName":351,"dataGaLocation":476},{"text":353,"config":616},{"href":355,"dataGaName":356,"dataGaLocation":476},{"text":618,"config":619},"Sustainability",{"href":620,"dataGaName":618,"dataGaLocation":476},"/sustainability/",{"text":622,"config":623},"ダイバーシティ、インクルージョン、ビロンギング（DIB）",{"href":624,"dataGaName":625,"dataGaLocation":476},"/ja-jp/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":358,"config":627},{"href":360,"dataGaName":361,"dataGaLocation":476},{"text":368,"config":629},{"href":370,"dataGaName":371,"dataGaLocation":476},{"text":373,"config":631},{"href":375,"dataGaName":376,"dataGaLocation":476},{"text":633,"config":634},"現代奴隷制の透明性に関する声明",{"href":635,"dataGaName":636,"dataGaLocation":476},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"title":56,"links":638},[639,641,643,645,650,655,660],{"text":56,"config":640},{"href":58,"dataGaName":59,"dataGaLocation":476},{"text":386,"config":642},{"href":388,"dataGaName":389,"dataGaLocation":476},{"text":391,"config":644},{"href":393,"dataGaName":394,"dataGaLocation":476},{"text":646,"config":647},"ステータス",{"href":648,"dataGaName":649,"dataGaLocation":476},"https://status.gitlab.com/","status",{"text":651,"config":652},"利用規約",{"href":653,"dataGaName":654,"dataGaLocation":476},"/terms/","terms of use",{"text":656,"config":657},"プライバシーに関する声明",{"href":658,"dataGaName":659,"dataGaLocation":476},"/ja-jp/privacy/","privacy statement",{"text":661,"config":662},"Cookieの設定",{"dataGaName":663,"dataGaLocation":476,"id":664,"isOneTrustButton":32},"cookie preferences","ot-sdk-btn",{"items":666},[667,669,671],{"text":651,"config":668},{"href":653,"dataGaName":654,"dataGaLocation":476},{"text":656,"config":670},{"href":658,"dataGaName":659,"dataGaLocation":476},{"text":661,"config":672},{"dataGaName":663,"dataGaLocation":476,"id":664,"isOneTrustButton":32},"content:shared:ja-jp:main-footer.yml","Main Footer","shared/ja-jp/main-footer.yml","shared/ja-jp/main-footer",[678],{"_path":679,"_dir":680,"_draft":6,"_partial":6,"_locale":7,"content":681,"config":687,"_id":689,"_type":35,"title":18,"_source":37,"_file":690,"_stem":691,"_extension":40},"/en-us/blog/authors/sandra-gittlen","authors",{"role":682,"name":18,"config":683},"Managing Editor, GitLab Blog",{"headshot":684,"linkedin":685,"ctfId":686},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749659648/Blog/Author%20Headshots/Sgittlen-headshot.jpg","https://www.linkedin.com/in/sandra-gittlen-48557a294/","sgittlen",{"template":688},"BlogAuthor","content:en-us:blog:authors:sandra-gittlen.yml","en-us/blog/authors/sandra-gittlen.yml","en-us/blog/authors/sandra-gittlen",{"_path":693,"_dir":43,"_draft":6,"_partial":6,"_locale":7,"header":694,"eyebrow":695,"blurb":696,"button":697,"secondaryButton":701,"_id":703,"_type":35,"title":704,"_source":37,"_file":705,"_stem":706,"_extension":40},"/shared/ja-jp/next-steps","より優れたソフトウェアをより速く提供","フォーチュン100企業の50%以上がGitLabを信頼","インテリジェントなDevSecOpsプラットフォームで\n\n\nチームの可能性を広げましょう。\n",{"text":51,"config":698},{"href":699,"dataGaName":54,"dataGaLocation":700},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/","feature",{"text":56,"config":702},{"href":58,"dataGaName":59,"dataGaLocation":700},"content:shared:ja-jp:next-steps.yml","Next Steps","shared/ja-jp/next-steps.yml","shared/ja-jp/next-steps",1753981676830]