[{"data":1,"prerenderedAt":1389},["ShallowReactive",2],{"/ja-jp/blog/gitlab-as-your-aws-control-plane":3,"navigation-ja-jp":626,"banner-ja-jp":1057,"footer-ja-jp":1065,"blog-post-authors-ja-jp-Javier Urones Monteserín, Clober|Péter Bozsó":1317,"blog-related-posts-ja-jp-gitlab-as-your-aws-control-plane":1345,"blog-share-wrapper-ja-jp":1370,"next-steps-ja-jp":1380},{"id":4,"title":5,"authors":6,"body":9,"category":605,"date":606,"description":607,"extension":608,"externalUrl":609,"faq":609,"featured":610,"heroImage":611,"meta":612,"navigation":613,"path":614,"seo":615,"slug":617,"stem":618,"tags":619,"template":623,"updatedDate":624,"__hash__":625},"blogPosts/ja-jp/blog/gitlab-as-your-aws-control-plane.md","GitLabをAWSのコントロールプレーンに：OpenTofuとArgo CDで実現する完全自動化",[7,8],"Javier Urones Monteserín, Clober","Péter Bozsó",{"type":10,"value":11,"toc":594},"minimark",[12,16,32,37,40,43,66,69,94,97,139,142,145,162,165,179,194,197,200,203,206,244,262,265,276,283,286,298,301,307,310,313,316,319,325,328,331,334,375,378,381,384,387,393,396,399,431,440,443,446,457,460,463,466,469,475,478,502,505,508,519,522,528,531,534,537,552,570,573],[13,14,15],"p",{},"クラウド環境の構築は簡単ではありません。ネットワーク、サブスクリプション、各種サービス、そして基盤インフラを構成するあらゆる要素を考慮する必要があるためです。手作業でのセットアップはミスが起こりやすく、環境ごとに差異が生まれ、同じ状態を再現するのも困難です。",[13,17,18,19,25,26,31],{},"本記事では、GitLabを運用の中枢に据えて、完全に自動化されたクラウド環境を構築する方法を紹介します。クラウドインフラはすべてコードとして定義してGitLab上で管理し、GitLab CI/CDパイプラインから",[20,21,24],"a",{"href":22,"rel":23},"https://opentofu.org/",[],"OpenTofu","を使ってAWSにデプロイ。さらに同じパイプラインが、",[20,27,30],{"href":28,"rel":29},"https://argoproj.github.io/cd/",[],"Argo CD","によるGitOpsの手法で、実際のWebアプリケーションのビルドとデプロイまで担います。",[33,34,36],"h2",{"id":35},"なぜinfrastructure-as-codeとgitopsなのか","なぜInfrastructure as CodeとGitOpsなのか",[13,38,39],{},"まずは、Infrastructure as Code（IaC）とGitOpsがなぜ重要なのか、そしてGitLabがこれらの手法を単一のプラットフォームでどう統合するのかを押さえておきましょう。",[13,41,42],{},"IaCによって、環境は次の特性を備えます。",[44,45,46,54,60],"ul",{},[47,48,49,53],"li",{},[50,51,52],"strong",{},"再現性","：同じ構成をどこにでもデプロイできる",[47,55,56,59],{},[50,57,58],{},"バージョン管理","：すべての変更をバージョン管理システム（VCS、多くの場合はGit）で追跡できる",[47,61,62,65],{},[50,63,64],{},"自動化","：人の手を介する必要がない",[13,67,68],{},"GitOpsは、この考え方をアプリケーションのライフサイクルにまで広げたもの。Kubernetesクラスター（やその他のインフラ）に手作業で変更を適用するのではなく、アプリケーションのあるべき状態をGitに置きます。あとはArgo CDのようなGitOpsオペレーターが、リポジトリの内容とクラスターの状態を継続的に一致させる仕組みです。これによって得られるメリットは次のとおり。",[44,70,71,76,82,88],{},[47,72,73],{},[50,74,75],{},"環境間の一貫性",[47,77,78,81],{},[50,79,80],{},"迅速な復旧","：コミットをリバートするだけでロールバックが完了",[47,83,84,87],{},[50,85,86],{},"コラボレーションの向上","：マージリクエスト経由で変更をレビュー・承認できる",[47,89,90,93],{},[50,91,92],{},"セキュリティの強化","：デベロッパーがクラスターに直接アクセスしなくてもデプロイできる",[13,95,96],{},"こうしたアプローチに必要な機能は、すべてGitLabに揃っています。",[44,98,99,109,119,129],{},[47,100,101,108],{},[50,102,103],{},[20,104,107],{"href":105,"rel":106},"https://docs.gitlab.com/ja-jp/user/get_started/get_started_managing_code/",[],"ソースコード管理","：インフラのコードとアプリケーションのコードを一箇所で管理",[47,110,111,118],{},[50,112,113],{},[20,114,117],{"href":115,"rel":116},"https://docs.gitlab.com/ja-jp/ci/",[],"CI/CDパイプライン","：OpenTofuによるプロビジョニングと、Kubernetesマニフェストによるデプロイを自動化",[47,120,121,128],{},[50,122,123],{},[20,124,127],{"href":125,"rel":126},"https://docs.gitlab.com/ja-jp/user/infrastructure/iac/terraform_state/",[],"Terraformステート","：インフラのステートファイルを安全に保管・管理",[47,130,131,138],{},[50,132,133],{},[20,134,137],{"href":135,"rel":136},"https://docs.gitlab.com/ja-jp/user/packages/container_registry/",[],"コンテナレジストリ","：コンテナイメージをコードやパイプラインと同じ場所でビルド・保存・管理",[13,140,141],{},"クラウドインフラのプロビジョニングからアプリケーションの配信まで、GitLabならすべてが1つのプラットフォーム上で完結します。",[13,143,144],{},"本チュートリアルを進めるには、以下が必要です。",[44,146,147,150,153,156,159],{},[47,148,149],{},"GitLab CI/CDパイプラインとGitの基礎知識",[47,151,152],{},"IaC（TerraformまたはOpenTofu）とGitOpsに関する基本的な理解",[47,154,155],{},"AWSアカウント",[47,157,158],{},"Kubernetesクラスター（本チュートリアルではEKSをプロビジョニングします）",[47,160,161],{},"サンプルWebアプリケーション用のDockerfile",[13,163,164],{},"本チュートリアルで扱う手順は次のとおりです。",[44,166,167,170,173,176],{},[47,168,169],{},"OpenTofuでネットワークとEKSを含むAWS環境一式をプロビジョニングする",[47,171,172],{},"Argo CDとCertManagerなどのKubernetesツールを自動で構成する",[47,174,175],{},"Argo CDのGitOpsでサンプルWebアプリケーションをデプロイする",[47,177,178],{},"GitLab CI/CDでサンプルWebアプリケーションをビルドしパッケージ化する",[13,180,181,182,187,188,193],{},"この例をご自身のGitLab環境で再現する方法を、順に見ていきましょう。",[20,183,186],{"href":184,"rel":185},"https://gitlab.com/gitlab-partners-public/satec/aws-summit-2025-demo",[],"サンプルのソースコード","は",[20,189,192],{"href":190,"rel":191},"https://gitlab.com/gitlab-partners-public/satec",[],"SATEC Public Demo Group","で公開しています。",[33,195,169],{"id":196},"opentofuでネットワークとeksを含むaws環境一式をプロビジョニングする",[13,198,199],{},"最初のステップは、OpenTofu（Terraformのオープンソースフォーク）によるクラウドインフラのプロビジョニングです。ネットワークコンポーネントを宣言的に定義し、Amazon EKSクラスターを作成します。",[13,201,202],{},"このプロセスに再現性と安全性を持たせるため、値をハードコードせずGitLab CI/CD変数を使います。これにより、複数のパイプラインをまたいでAWS環境を動的に設定できます。",[13,204,205],{},"必要な環境変数は以下のとおりです。すべてのプロジェクトに継承させるため、親グループの**「設定 > CI/CD > 変数」**で定義します。",[44,207,208,214,220,226,232,238],{},[47,209,210,213],{},[50,211,212],{},"TF_VAR_region","：インフラを作成するAWSリージョン（例：eu-west-1）",[47,215,216,219],{},[50,217,218],{},"TF_VAR_instance_type","：ワーカーノード用のEC2インスタンスタイプ（例：t3.medium）",[47,221,222,225],{},[50,223,224],{},"TF_VAR_instance_count","：クラスター内のワーカーノード数",[47,227,228,231],{},[50,229,230],{},"TF_VAR_cluster_name","：プロビジョニングするEKSクラスターの名前",[47,233,234,237],{},[50,235,236],{},"AWS_ACCESS_KEY_ID","：認証用のAWSアクセスキー",[47,239,240,243],{},[50,241,242],{},"AWS_SECRET_ACCESS_KEY","：認証用のAWSシークレットキー",[13,245,246,247,251,252,255,256,261],{},"変数はすべてGitLab上で",[248,249,250],"em",{},"保護","変数として定義し、AWSシークレットアクセスキーのような機密性の高いものには",[248,253,254],{},"マスク","も設定します。こうすることで、安全なCI/CDコンテキストでのみ値が参照される状態を保てます。セキュリティをさらに高めたい場合は、",[20,257,260],{"href":258,"rel":259},"https://docs.gitlab.com/ja-jp/ci/variables/#cicd-variable-security",[],"CI/CD変数のチュートリアル","もご覧ください。コードと設定を分離しておけば、パイプラインは柔軟さを保ったまま、特定の環境に依存しなくなります。",[13,263,264],{},"設定が完了すれば、OpenTofuパイプラインを自動実行して次の処理を行えます。",[44,266,267,270,273],{},[47,268,269],{},"ネットワークリソース（VPC、サブネット、ゲートウェイ、ルーティングテーブル）のプロビジョニング",[47,271,272],{},"EKSコントロールプレーンとワーカーノードグループのプロビジョニング",[47,274,275],{},"新しいクラスターにArgo CDとCertManagerをデプロイするパイプラインのトリガー",[13,277,278],{},[279,280],"img",{"alt":281,"src":282},"インフラのプロビジョニングプロセスの流れ","https://res.cloudinary.com/about-gitlab-com/image/upload/v1786721848/raobe2rbwouolxuakbdl.png",[13,284,285],{},"上の図は、インフラのプロビジョニングプロセスの流れを示したものです。",[287,288,289,292,295],"ol",{},[47,290,291],{},"Terraform/OpenTofuの設定ファイルを格納したインフラリポジトリから、GitLabパイプラインをトリガー。",[47,293,294],{},"GitLab CI/CDがOpenTofuコマンドを実行。統合されたTerraformステート管理バックエンドを使い、ステートファイルをGitLab内で安全に管理します。",[47,296,297],{},"OpenTofuが設定済みのプロバイダー経由でAWSに接続し、VPC、サブネット、ゲートウェイ、ロードバランサー、複数のアベイラビリティーゾーンに分散配置したAmazon EKSクラスターなど、必要なリソースをすべて作成します。",[13,299,300],{},"この段階が終わると、AWS環境とKubernetesクラスターのプロビジョニングは完了し、すぐに運用できる状態になります。",[13,302,303],{},[279,304],{"alt":305,"src":306},"AWS環境とKubernetesクラスターのプロビジョニングが完了した状態","https://res.cloudinary.com/about-gitlab-com/image/upload/v1786721902/z6fbu78rw9xprgkrju9p.png",[13,308,309],{},"このプロセスの最後（ポストデプロイ）に行うのが、専用リポジトリに置いた2つ目のGitLabパイプラインのトリガーです。このパイプラインが、Helmプロバイダーを使ってArgo CDとCertManagerを新しいEKSクラスターへ自動的にデプロイします。",[33,311,172],{"id":312},"argo-cdとcertmanagerなどのkubernetesツールを自動で構成する",[13,314,315],{},"AWSインフラとEKSクラスターのプロビジョニングが済んだら、次は環境の運用に欠かせないKubernetesツール、すなわちArgo CD、CertManager、Ingress NGINX Controllerの構成です。",[13,317,318],{},"この工程は、別リポジトリに置いた2つ目のGitLabパイプラインによって完全に自動化されています。",[13,320,321],{},[279,322],{"alt":323,"src":324},"別のリポジトリに置いた2つ目のGitLabパイプライン","https://res.cloudinary.com/about-gitlab-com/image/upload/v1786721969/tgupmzi9q557f0nivgb7.png",[13,326,327],{},"2つ目のパイプラインは、OpenTofuのプロビジョニングステージが正常に完了した時点で、インフラパイプラインのトリガージョブから自動的に実行されます。",[13,329,330],{},"つまり、これらのコアコンポーネントのデプロイは、エンドツーエンドの同じワークフローの一部としてシームレスに進み、手作業は一切不要。デプロイ自体はOpenTofuがHelmプロバイダー経由で実行するため、HelmチャートをGitLab上でコードとして宣言的に管理できます。",[13,332,333],{},"ワークフローを簡略化すると、次のようになります。",[287,335,336,342,365,368],{},[47,337,338,341],{},[50,339,340],{},"1つ目のパイプライン","がEKSクラスターを用意し、GitLabのトリガージョブで2つ目のパイプラインを起動します。",[47,343,344,347,348],{},[50,345,346],{},"2つ目のパイプライン","が、OpenTofuとHelmプロバイダーを使って次の処理を実行します。",[44,349,350,353,356,359],{},[47,351,352],{},"EKSクラスターからkubeconfigを取得",[47,354,355],{},"Argo CDのインストール（GitOps管理用）",[47,357,358],{},"CertManagerのインストール（TLS証明書の自動管理用）",[47,360,361,362],{},"Ingress NGINX Controllerのインストール（Ingressトラフィックのルーティング用）",[248,363,364],{},"（注：Ingress NGINX ControllerはKubernetesエコシステムで非推奨化が進んでいます。新規のデプロイでは、TraefikやAPIゲートウェイベースのアプローチといった代替手段の検討をおすすめします）",[47,366,367],{},"各HelmリリースはOpenTofuの設定内で定義するため、アップグレードやロールバックも通常のインフラコードの変更として対応可能。",[47,369,370,371,374],{},"最後に",[50,372,373],{},"3つ目のパイプライン","がトリガーされ、サンプルWebアプリケーションをデプロイします。このパイプラインは、Webアプリとその関連リソースを定義したArgo CDのアプリケーションマニフェストを適用します。",[33,376,175],{"id":377},"argo-cdのgitopsでサンプルwebアプリケーションをデプロイする",[13,379,380],{},"コアとなるKubernetesコンポーネント（Argo CD、CertManager、Ingress NGINX Controller）のインストールが完了すると、自動化パイプラインの最終ステージが始まります。この工程は、Helmチャートのインストール完了直後に自動で実行される仕組みです。",[13,382,383],{},"ここでトリガーされる3つ目のGitLabパイプラインが、Argo CD経由でサンプルWebアプリケーションを新しいEKSクラスターにデプロイします。",[13,385,386],{},"全体の流れは以下の図のとおりです。",[13,388,389],{},[279,390],{"alt":391,"src":392},"GitLabはOpenTofuが生成したkubeconfigでクラスターに接続し、Webアプリケーションのあるべき状態を定義したArgo CDのアプリケーションマニフェストを適用する","https://res.cloudinary.com/about-gitlab-com/image/upload/v1786722029/aw36utqgxlj6ipmw6rgj.png",[13,394,395],{},"このステージでは、GitLabがOpenTofuの生成したkubeconfigを使ってクラスターに接続し、Webアプリケーションのあるべき状態を定義したArgo CDのアプリケーションマニフェストを適用します。",[13,397,398],{},"パイプラインが行う処理は次のとおりです。",[44,400,401,407,413,419,425],{},[47,402,403,406],{},[50,404,405],{},"kubeconfigの取得と更新","：EKSクラスターへの接続に使用します",[47,408,409,412],{},[50,410,411],{},"認証情報とリポジトリ情報の動的な更新","：CI/CD変数を利用します",[47,414,415,418],{},[50,416,417],{},"Kubernetesネームスペースの作成","：アプリケーション用（aws-summit-app）",[47,420,421,424],{},[50,422,423],{},"Argo CDマニフェストの適用","：repository.yaml、application.yaml、cluster-issuer.yaml",[47,426,427,430],{},[50,428,429],{},"コンテナレジストリのシークレット作成","：アクセストークンを使い、アプリケーションがGitLabから安全にイメージをプルできるようにします",[13,432,433,434,439],{},"これらの処理はすべて",[20,435,438],{"href":436,"rel":437},"https://about.gitlab.com/ja-jp/blog/ultimate-guide-to-ci-cd-fundamentals-to-advanced-implementation/",[],"GitLab CI/CD","によって自動的に行われ、手作業は発生しません。",[13,441,442],{},"マニフェストが適用されると、Argo CDコントローラーがそれを検知し、アプリケーションの状態をリポジトリと同期。サンプルWebページがEKSクラスターにデプロイされます。",[13,444,445],{},"こうして出来上がるのは、次のような形で稼働するKubernetes環境です。",[44,447,448,451,454],{},[47,449,450],{},"インフラはOpenTofuでプロビジョニング",[47,452,453],{},"クラスターのツールはHelmで宣言的にインストール",[47,455,456],{},"アプリケーションはArgo CDを使ったGitOpsでデプロイ・管理",[13,458,459],{},"このアプローチにより、エンドツーエンドの自動化、トレーサビリティ、再現性が確保され、そのすべてをGitLabで管理できます。",[33,461,178],{"id":462},"gitlab-cicdでサンプルwebアプリケーションをビルドしパッケージ化する",[13,464,465],{},"Argo CDでアプリケーションをデプロイする前に、まずはビルドし、コンテナ化して、GitLabコンテナレジストリに公開しておく必要があります。",[13,467,468],{},"この工程は専用のCI/CDパイプラインで管理し、ソースコードとKubernetesマニフェストを別々のリポジトリに置くGitOps向けのリポジトリ構成に従います。",[13,470,471],{},[279,472],{"alt":473,"src":474},"GitOpsのリポジトリ構成に従う専用のCI/CDパイプライン","https://res.cloudinary.com/about-gitlab-com/image/upload/v1786722075/nqscss5qee8sdydrej0d.png",[13,476,477],{},"この構成では、GitLabグループを大きく2つに分けます。",[44,479,480,491],{},[47,481,482,485,486],{},[50,483,484],{},"Apps/","：アプリケーションのソースコードリポジトリを格納",[44,487,488],{},[47,489,490],{},"例：aws-summit-app/webにサンプルWebページのソースコードを配置",[47,492,493,496,497],{},[50,494,495],{},"Deployments/","：アプリケーションごとのKubernetesマニフェストのリポジトリを格納",[44,498,499],{},[47,500,501],{},"例：Deployments配下のaws-summit-app/webで、Webページをデプロイするためのマニフェスト（deployment.yaml、ingress.yaml、service.yamlなど）を定義",[13,503,504],{},"この分離によって、アプリケーションコードとデプロイ設定は互いに独立しながらも自動化を通じて同期し、見通しのよいGitOpsワークフローが実現します。",[13,506,507],{},"アプリケーションリポジトリに定義したCI/CDパイプラインは、次のタスクを自動化します。",[44,509,510,513,516],{},[47,511,512],{},"**ビルドとパッケージ化：**ソースコードをコンパイルし、用意したDockerfileでDockerイメージをビルドします",[47,514,515],{},"**GitLabコンテナレジストリへの公開：**イメージに自動でタグを付け、統合されたGitLabコンテナレジストリにプッシュします",[47,517,518],{},"**デプロイマニフェストの更新：**イメージの公開後、対応するデプロイリポジトリ（Deployments/aws-summit-app/web配下）内のイメージ参照を更新するジョブを実行します",[13,520,521],{},"これらは、新しいイメージタグのコミット、またはマージリクエストの作成という形で自動的に行われます。",[13,523,524],{},[279,525],{"alt":526,"src":527},"新しいイメージタグのコミット、またはマージリクエストの作成","https://res.cloudinary.com/about-gitlab-com/image/upload/v1786722113/zdh3bk63swvxibhaw5m9.png",[13,529,530],{},"コミットやマージリクエストが作成されると、Argo CDがデプロイリポジトリの変更を自動的に検知し、更新後のマニフェストをKubernetesクラスターと同期します。新しいバージョンのアプリケーションは、手作業を挟むことなくデプロイされます。",[33,532,533],{"id":533},"まとめ",[13,535,536],{},"本記事では、GitLabを中心に据えた完全自動のクラウド環境の構築方法を紹介しました。冒頭で掲げた目標、つまり再現性があり、バージョン管理され、自動化されたインフラという要件を満たす構成です。インフラのプロビジョニングにOpenTofu、パイプラインのオーケストレーションにGitLab CI/CD、GitOpsベースのアプリケーション配信にArgo CDを組み合わせれば、クラウドリソースから稼働中のアプリケーションまで、ライフサイクル全体を1つのプラットフォームで管理できます。",[13,538,539,540,545,546,551],{},"クラウドインフラとDevSecOpsの実践に深い知見を持つGitLabパートナーとして、",[20,541,544],{"href":542,"rel":543},"https://www.clober.tech/",[],"Clober","（",[20,547,550],{"href":548,"rel":549},"https://www.satec.es/en",[],"SATEC","グループ）は、各組織のニーズに合わせた自動化環境の導入を支援しています。",[13,553,554],{},[248,555,556,557,545,560,563,564,569],{},"注：本記事は、",[20,558,544],{"href":542,"rel":559},[],[20,561,550],{"href":548,"rel":562},[],"グループ）のDevSecOpsチームが",[20,565,568],{"href":566,"rel":567},"https://aws.amazon.com/es/events/summits/madrid/",[],"AWS Summit Madrid"," 2025で実施したライブデモをもとにしています。",[33,571,572],{"id":572},"関連リンク",[44,574,575,582,588],{},[47,576,577],{},[20,578,581],{"href":579,"rel":580},"https://docs.gitlab.com/ja-jp/ci/components/",[],"GitLab CI/CDコンポーネント",[47,583,584],{},[20,585,587],{"href":135,"rel":586},[],"GitLabコンテナレジストリ",[47,589,590],{},[20,591,593],{"href":125,"rel":592},[],"GitLabが管理するTerraformステート管理",{"title":595,"searchDepth":596,"depth":596,"links":597},"",2,[598,599,600,601,602,603,604],{"id":35,"depth":596,"text":36},{"id":196,"depth":596,"text":169},{"id":312,"depth":596,"text":172},{"id":377,"depth":596,"text":175},{"id":462,"depth":596,"text":178},{"id":533,"depth":596,"text":533},{"id":572,"depth":596,"text":572},"engineering","2026-08-18","AWSインフラとアプリ配信をエンドツーエンドで自動化。OpenTofuでEKSを プロビジョニングし、GitLab CI/CDでビルドとパッケージ化、Argo CDがGitOpsでデプロイします。","md",null,false,"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773865762/yti4ngyppos6amxsv0dj.png",{},true,"/ja-jp/blog/gitlab-as-your-aws-control-plane",{"config":616,"title":5,"description":607},{"noIndex":610},"gitlab-as-your-aws-control-plane","ja-jp/blog/gitlab-as-your-aws-control-plane",[620,621,622],"AWS","GitOps","partners","BlogPost","2026-08-19","7d15rN6f_NwRGz4_2oQzHZP00Zsrp2--3sYmScsd3L4",{"logo":627,"freeTrial":632,"sales":637,"login":642,"items":647,"search":976,"minimal":1009,"duo":1027,"switchNav":1036,"pricingDeployment":1047},{"config":628},{"href":629,"dataGaName":630,"dataGaLocation":631},"/ja-jp/","gitlab logo","header",{"text":633,"config":634},"無料トライアルを開始",{"href":635,"dataGaName":636,"dataGaLocation":631},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/ja-jp&glm_content=default-saas-trial/","free trial",{"text":638,"config":639},"デモをリクエスト",{"href":640,"dataGaName":641,"dataGaLocation":631},"/request-a-demo/","sales",{"text":643,"config":644},"サインイン",{"href":645,"dataGaName":646,"dataGaLocation":631},"https://gitlab.com/users/sign_in/","sign in",[648,733,821,826,900,954],{"text":649,"left":613,"config":650,"menu":652},"プラットフォーム",{"dataNavLevelOne":651},"platform",{"type":653,"link":654,"columns":658,"feature":722},"lists",{"text":655,"config":656},"プラットフォームを詳しく見る",{"href":657,"dataGaName":651,"dataGaLocation":631},"/ja-jp/platform/",[659,681,704],{"title":660,"items":661},"実行とワークフロー",[662,667,671,676],{"text":663,"config":664},"CI/CD",{"href":665,"dataGaLocation":631,"dataGaName":666},"/ja-jp/solutions/continuous-integration/","ci/cd",{"text":107,"config":668},{"href":669,"dataGaLocation":631,"dataGaName":670},"/ja-jp/solutions/source-code-management/","source code management",{"text":672,"config":673},"アジャイルデリバリー",{"href":674,"dataGaLocation":631,"dataGaName":675},"/ja-jp/solutions/agile-delivery/","agile delivery",{"text":677,"config":678},"アーティファクト管理",{"href":679,"dataGaLocation":631,"dataGaName":680},"/ja-jp/artifact-central/","artifact management",{"title":682,"items":683},"セキュリティとガバナンス",[684,689,694,699],{"text":685,"config":686},"アプリケーションセキュリティテスト",{"href":687,"dataGaLocation":631,"dataGaName":688},"/ja-jp/solutions/application-security-testing/","application security testing",{"text":690,"config":691},"ガバナンスとコンプライアンス",{"href":692,"dataGaLocation":631,"dataGaName":693},"/ja-jp/solutions/software-compliance/","governance and compliance",{"text":695,"config":696},"シークレット管理",{"href":697,"dataGaLocation":631,"dataGaName":698},"/ja-jp/gitlab-secrets-manager/","secrets management",{"text":700,"config":701},"サプライチェーンセキュリティ",{"href":702,"dataGaLocation":631,"dataGaName":703},"/ja-jp/solutions/supply-chain/","supply chain security",{"title":705,"items":706},"コンテキストとAI",[707,712,717],{"text":708,"config":709},"エージェント型オーケストレーション",{"href":710,"dataGaLocation":631,"dataGaName":711},"/ja-jp/gitlab-duo-agent-platform/","agentic orchestration",{"text":713,"config":714},"コンテキストグラフ",{"href":715,"dataGaLocation":631,"dataGaName":716},"/ja-jp/gitlab-orbit/","context graph",{"text":718,"config":719},"可視性と測定",{"href":720,"dataGaLocation":631,"dataGaName":721},"/ja-jp/solutions/visibility-measurement/","visibility and measurement",{"config":723,"title":726,"text":727,"link":728},{"background":724,"textColor":725},"url('https://res.cloudinary.com/about-gitlab-com/image/upload/v1790185102/o7dn32anqcb6z8dgd3as.jpg')","#000","GitLabが選ばれる理由","ひとつのプラットフォームで、ソフトウェアライフサイクル全体を通じてスピードと制御を両立できます。",{"text":729,"config":730},"詳細はこちら",{"href":731,"dataGaName":732,"dataGaLocation":631},"/ja-jp/why-gitlab/","why gitlab",{"text":734,"left":613,"config":735,"menu":737},"ソリューション",{"dataNavLevelOne":736},"solutions",{"type":653,"link":738,"columns":742,"feature":812},{"text":739,"config":740},"すべてのソリューションを表示",{"href":741,"dataGaName":736,"dataGaLocation":631},"/ja-jp/solutions/",[743,761,779],{"title":744,"items":745},"成果",[746,751,756],{"text":747,"config":748},"DevOpsモダナイゼーション",{"href":749,"dataGaLocation":631,"dataGaName":750},"/ja-jp/assessments/devops-modernization-assessment/","devops modernization",{"text":752,"config":753},"セキュリティモダナイゼーション",{"href":754,"dataGaLocation":631,"dataGaName":755},"/ja-jp/assessments/security-modernization-assessment/","security modernization",{"text":757,"config":758},"AIモダナイゼーション",{"href":759,"dataGaLocation":631,"dataGaName":760},"/ja-jp/assessments/ai-modernization-assessment/","ai modernization",{"title":762,"items":763},"規模別",[764,769,774],{"text":765,"config":766},"エンタープライズ",{"href":767,"dataGaLocation":631,"dataGaName":768},"/ja-jp/enterprise/","enterprise",{"text":770,"config":771},"スモールビジネス",{"href":772,"dataGaLocation":631,"dataGaName":773},"/ja-jp/small-business/","small business",{"text":775,"config":776},"スタートアップ",{"href":777,"dataGaLocation":631,"dataGaName":778},"/ja-jp/solutions/startups/","startups",{"title":780,"items":781},"業界",[782,787,792,797,802,807],{"text":783,"config":784},"金融サービス",{"href":785,"dataGaLocation":631,"dataGaName":786},"/ja-jp/solutions/finance/","financial services",{"text":788,"config":789},"公共部門",{"href":790,"dataGaLocation":631,"dataGaName":791},"/ja-jp/solutions/public-sector/","public sector",{"text":793,"config":794},"通信",{"href":795,"dataGaLocation":631,"dataGaName":796},"/ja-jp/solutions/telecommunications/","telecommunications",{"text":798,"config":799},"自動車",{"href":800,"dataGaLocation":631,"dataGaName":801},"/ja-jp/solutions/automotive/","automotive",{"text":803,"config":804},"教育",{"href":805,"dataGaLocation":631,"dataGaName":806},"/ja-jp/solutions/education/","education",{"text":808,"config":809},"航空宇宙",{"href":810,"dataGaLocation":631,"dataGaName":811},"/ja-jp/solutions/aerospace/","aerospace",{"config":813,"title":814,"text":815,"link":816},{"background":724,"textColor":725},"GitLabのセキュリティ標準","セキュリティを犠牲にすることなく、ソフトウェアファクトリーを強化し、自律的なAIエージェントを実現する方法をご覧ください。",{"text":817,"config":818},"標準を見る",{"href":819,"dataGaName":820,"dataGaLocation":631},"/ja-jp/gitlab-security-standard/","gitlab security standard",{"text":822,"config":823},"価格",{"href":824,"dataGaName":825,"dataGaLocation":631,"dataNavLevelOne":825},"/ja-jp/pricing/","pricing",{"text":827,"config":828,"menu":830},"関連リソース",{"dataNavLevelOne":829},"resources",{"type":653,"link":831,"columns":835,"feature":891},{"text":832,"config":833},"すべてのリソースを表示",{"href":834,"dataGaName":829,"dataGaLocation":631},"/ja-jp/resources/",[836,864],{"title":837,"items":838},"検索する",[839,844,849,854,859],{"text":840,"config":841},"製品ドキュメント",{"href":842,"dataGaName":843,"dataGaLocation":631},"https://docs.gitlab.com/ja-jp/","docs",{"text":845,"config":846},"GitLab University",{"href":847,"dataGaName":848,"dataGaLocation":631},"https://university.gitlab.com/","university",{"text":850,"config":851},"技術デモ",{"href":852,"dataGaName":853,"dataGaLocation":631},"/ja-jp/gitlab-technical-demo-series/","demo series",{"text":855,"config":856},"インタラクティブデモ",{"href":857,"dataGaName":858,"dataGaLocation":631},"/ja-jp/demo-hub/","demo hub",{"text":860,"config":861},"GitLabサービス",{"href":862,"dataGaName":863,"dataGaLocation":631},"/ja-jp/services/","services",{"title":865,"items":866},"つなげる",[867,872,877,882,886],{"text":868,"config":869},"ブログ",{"href":870,"dataGaName":871,"dataGaLocation":631},"/ja-jp/blog/","blog",{"text":873,"config":874},"コミュニティ",{"href":875,"dataGaName":876,"dataGaLocation":631},"/community/","community",{"text":878,"config":879},"お客様事例",{"href":880,"dataGaName":881,"dataGaLocation":631},"/ja-jp/customers/","customers",{"text":883,"config":884},"パートナー",{"href":885,"dataGaName":622,"dataGaLocation":631},"/ja-jp/partners/",{"text":887,"config":888},"イベント",{"href":889,"dataGaName":890,"dataGaLocation":631},"/events/","events",{"config":892,"title":893,"text":894,"link":895},{"background":724,"textColor":725},"GitLabの最新情報","最新の機能と改善点に関する情報をお届けします。",{"text":896,"config":897},"最新情報を読む",{"href":898,"dataGaName":899,"dataGaLocation":631},"/ja-jp/whats-new/","whats new",{"text":901,"config":902,"menu":904},"企業情報",{"dataNavLevelOne":903},"company",{"type":653,"columns":905},[906],{"items":907},[908,913,919,924,929,934,939,944,949],{"text":909,"config":910},"GitLabについて",{"href":911,"dataGaName":912,"dataGaLocation":631},"/ja-jp/company/","about",{"text":914,"config":915,"footerGa":918},"採用情報",{"href":916,"dataGaName":917,"dataGaLocation":631},"/jobs/","jobs",{"dataGaName":917},{"text":920,"config":921},"プレス",{"href":922,"dataGaName":923,"dataGaLocation":631},"/press/","press",{"text":925,"config":926},"ハンドブック",{"href":927,"dataGaName":928,"dataGaLocation":631},"https://handbook.gitlab.com/","handbook",{"text":930,"config":931},"経営陣",{"href":932,"dataGaName":933,"dataGaLocation":631},"/company/team/e-group/","leadership",{"text":935,"config":936},"投資家向け情報",{"href":937,"dataGaName":938,"dataGaLocation":631},"https://ir.gitlab.com/overview/default.aspx","investor relations",{"text":940,"config":941},"トラストセンター",{"href":942,"dataGaName":943,"dataGaLocation":631},"/ja-jp/security/","trust center",{"text":945,"config":946},"AI Transparency Center",{"href":947,"dataGaName":948,"dataGaLocation":631},"/ja-jp/ai-transparency-center/","ai transparency center",{"text":950,"config":951},"ニュースレター",{"href":952,"dataGaName":953,"dataGaLocation":631},"/company/contact/#contact-forms","newsletter",{"text":955,"config":956,"menu":957},"お問い合わせ",{"dataNavLevelOne":903},{"type":653,"columns":958},[959],{"items":960},[961,966,971],{"text":962,"config":963},"お問い合わせはこちら",{"href":964,"dataGaName":965,"dataGaLocation":631},"/ja-jp/sales/","talk to sales",{"text":967,"config":968},"サポートポータル",{"href":969,"dataGaName":970,"dataGaLocation":631},"https://support.gitlab.com/hc/en-us","support portal",{"text":972,"config":973},"カスタマーポータル",{"href":974,"dataGaName":975,"dataGaLocation":631},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":977,"login":978,"suggestions":985},"閉じる",{"text":979,"link":980},"リポジトリとプロジェクトを検索するには、次にログインします",{"text":981,"config":982},"GitLab.com",{"href":645,"dataGaName":983,"dataGaLocation":984},"search login","search",{"text":986,"default":987},"提案",[988,991,995,997,1001,1005],{"text":989,"config":990},"GitLab Duo Agent Platform",{"href":710,"dataGaName":989,"dataGaLocation":984},{"text":992,"config":993},"コード提案（AI）",{"href":710,"dataGaName":994,"dataGaLocation":984},"Code Suggestions (AI)",{"text":663,"config":996},{"href":665,"dataGaName":663,"dataGaLocation":984},{"text":998,"config":999},"GitLab on AWS",{"href":1000,"dataGaName":998,"dataGaLocation":984},"/ja-jp/partners/technology-partners/aws/",{"text":1002,"config":1003},"GitLab on Google Cloud",{"href":1004,"dataGaName":1002,"dataGaLocation":984},"/ja-jp/partners/technology-partners/google-cloud-platform/",{"text":1006,"config":1007},"GitLabを選ぶ理由",{"href":731,"dataGaName":1008,"dataGaLocation":984},"Why GitLab?",{"freeTrial":1010,"mobileIcon":1014,"desktopIcon":1019,"secondaryButton":1022},{"text":633,"config":1011},{"href":1012,"dataGaName":636,"dataGaLocation":1013},"https://gitlab.com/-/trials/new/","nav",{"altText":1015,"config":1016},"GitLabアイコン",{"src":1017,"dataGaName":1018,"dataGaLocation":1013},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":1015,"config":1020},{"src":1021,"dataGaName":1018,"dataGaLocation":1013},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":1023,"config":1024},"はじめに",{"href":1025,"dataGaName":1026,"dataGaLocation":1013},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/ja-jp/get-started/","get started",{"freeTrial":1028,"mobileIcon":1032,"desktopIcon":1034},{"text":1029,"config":1030},"GitLab Duoの詳細はこちら",{"href":710,"dataGaName":1031,"dataGaLocation":1013},"gitlab duo",{"altText":1015,"config":1033},{"src":1017,"dataGaName":1018,"dataGaLocation":1013},{"altText":1015,"config":1035},{"src":1021,"dataGaName":1018,"dataGaLocation":1013},{"button":1037,"mobileIcon":1042,"desktopIcon":1044},{"text":1038,"config":1039},"/switch",{"href":1040,"dataGaName":1041,"dataGaLocation":1013},"#contact","switch",{"altText":1015,"config":1043},{"src":1017,"dataGaName":1018,"dataGaLocation":1013},{"altText":1015,"config":1045},{"src":1046,"dataGaName":1018,"dataGaLocation":1013},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":1048,"mobileIcon":1053,"desktopIcon":1055},{"text":1049,"config":1050},"料金ページに戻る",{"href":824,"dataGaName":1051,"dataGaLocation":1013,"icon":1052},"back to pricing","GoBack",{"altText":1015,"config":1054},{"src":1017,"dataGaName":1018,"dataGaLocation":1013},{"altText":1015,"config":1056},{"src":1021,"dataGaName":1018,"dataGaLocation":1013},{"title":1058,"titleMobile":1059,"button":1060,"config":1063},"GitLab Orbitが登場: AIエージェントのためのコンテキストレイヤー","GitLab Orbitが登場",{"text":729,"config":1061},{"href":715,"dataGaName":1062,"dataGaLocation":631},"orbit",{"layout":1064,"disabled":610},"release",{"data":1066},{"text":1067,"source":1068,"edit":1074,"contribute":1079,"config":1084,"items":1089,"minimal":1309},"GitはSoftware Freedom Conservancyの商標です。当社は「GitLab」をライセンスに基づいて使用しています",{"text":1069,"config":1070},"ページのソースを表示",{"href":1071,"dataGaName":1072,"dataGaLocation":1073},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":1075,"config":1076},"このページを編集",{"href":1077,"dataGaName":1078,"dataGaLocation":1073},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":1080,"config":1081},"ご協力をお願いします",{"href":1082,"dataGaName":1083,"dataGaLocation":1073},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":1085,"facebook":1086,"youtube":1087,"linkedin":1088},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[1090,1136,1191,1233,1276],{"title":822,"links":1091,"subMenu":1106},[1092,1096,1101],{"text":1093,"config":1094},"プランの表示",{"href":824,"dataGaName":1095,"dataGaLocation":1073},"view plans",{"text":1097,"config":1098},"Premiumを選ぶ理由",{"href":1099,"dataGaName":1100,"dataGaLocation":1073},"/ja-jp/pricing/premium/","why premium",{"text":1102,"config":1103},"Ultimateを選ぶ理由",{"href":1104,"dataGaName":1105,"dataGaLocation":1073},"/ja-jp/pricing/ultimate/","why ultimate",[1107],{"title":955,"links":1108},[1109,1112,1114,1116,1121,1126,1131],{"text":1110,"config":1111},"営業担当へのお問い合わせ",{"href":964,"dataGaName":641,"dataGaLocation":1073},{"text":967,"config":1113},{"href":969,"dataGaName":970,"dataGaLocation":1073},{"text":972,"config":1115},{"href":974,"dataGaName":975,"dataGaLocation":1073},{"text":1117,"config":1118},"ステータス",{"href":1119,"dataGaName":1120,"dataGaLocation":1073},"https://status.gitlab.com/","status",{"text":1122,"config":1123},"利用規約",{"href":1124,"dataGaName":1125,"dataGaLocation":1073},"/terms/","terms of use",{"text":1127,"config":1128},"プライバシーに関する声明",{"href":1129,"dataGaName":1130,"dataGaLocation":1073},"/ja-jp/privacy/","privacy statement",{"text":1132,"config":1133},"Cookie設定",{"dataGaName":1134,"dataGaLocation":1073,"id":1135,"isOneTrustButton":613},"cookie preferences","ot-sdk-btn",{"title":649,"links":1137,"subMenu":1150},[1138,1140,1142,1144,1146,1148],{"text":655,"config":1139},{"href":657,"dataGaName":651,"dataGaLocation":1073},{"text":708,"config":1141},{"href":710,"dataGaName":711,"dataGaLocation":1073},{"text":663,"config":1143},{"href":665,"dataGaName":666,"dataGaLocation":1073},{"text":713,"config":1145},{"href":715,"dataGaName":716,"dataGaLocation":1073},{"text":695,"config":1147},{"href":697,"dataGaName":698,"dataGaLocation":1073},{"text":726,"config":1149},{"href":731,"dataGaName":732,"dataGaLocation":1073},[1151],{"title":1152,"links":1153},"トピック",[1154,1158,1162,1167,1171,1176,1181,1186],{"text":663,"config":1155},{"href":1156,"dataGaName":1157,"dataGaLocation":1073},"/ja-jp/topics/ci-cd/","cicd",{"text":621,"config":1159},{"href":1160,"dataGaName":1161,"dataGaLocation":1073},"/ja-jp/topics/gitops/","gitops",{"text":1163,"config":1164},"DevOps",{"href":1165,"dataGaName":1166,"dataGaLocation":1073},"/ja-jp/topics/devops/","devops",{"text":58,"config":1168},{"href":1169,"dataGaName":1170,"dataGaLocation":1073},"/ja-jp/topics/version-control/","version control",{"text":1172,"config":1173},"DevSecOps",{"href":1174,"dataGaName":1175,"dataGaLocation":1073},"/ja-jp/topics/devsecops/","devsecops",{"text":1177,"config":1178},"クラウドネイティブ",{"href":1179,"dataGaName":1180,"dataGaLocation":1073},"/ja-jp/topics/cloud-native/","cloud native",{"text":1182,"config":1183},"コーディングのためのAI",{"href":1184,"dataGaName":1185,"dataGaLocation":1073},"/ja-jp/topics/devops/ai-for-coding/","ai for coding",{"text":1187,"config":1188},"エージェント型AI",{"href":1189,"dataGaName":1190,"dataGaLocation":1073},"/ja-jp/topics/agentic-ai/","agentic ai",{"title":734,"links":1192},[1193,1195,1197,1199,1201,1204,1206,1208,1210,1212,1214,1216,1218,1221,1225,1229],{"text":747,"config":1194},{"href":749,"dataGaName":750,"dataGaLocation":1073},{"text":752,"config":1196},{"href":754,"dataGaName":755,"dataGaLocation":1073},{"text":757,"config":1198},{"href":759,"dataGaName":760,"dataGaLocation":1073},{"text":783,"config":1200},{"href":785,"dataGaName":786,"dataGaLocation":1073},{"text":1202,"config":1203},"公共機関",{"href":790,"dataGaName":791,"dataGaLocation":1073},{"text":793,"config":1205},{"href":795,"dataGaName":796,"dataGaLocation":1073},{"text":798,"config":1207},{"href":800,"dataGaName":801,"dataGaLocation":1073},{"text":803,"config":1209},{"href":805,"dataGaName":806,"dataGaLocation":1073},{"text":808,"config":1211},{"href":810,"dataGaName":811,"dataGaLocation":1073},{"text":765,"config":1213},{"href":767,"dataGaName":768,"dataGaLocation":1073},{"text":770,"config":1215},{"href":772,"dataGaName":773,"dataGaLocation":1073},{"text":775,"config":1217},{"href":777,"dataGaName":778,"dataGaLocation":1073},{"text":621,"config":1219},{"href":1220,"dataGaName":1161,"dataGaLocation":1073},"/ja-jp/solutions/gitops/",{"text":1222,"config":1223},"ソフトウェアコンポジション解析",{"href":702,"dataGaName":1224,"dataGaLocation":1073},"software composition analysis",{"text":1226,"config":1227},"バリューストリーム管理",{"href":720,"dataGaName":1228,"dataGaLocation":1073},"value stream management",{"text":1230,"config":1231},"すべてのソリューション",{"href":741,"dataGaName":1232,"dataGaLocation":1073},"all solutions",{"title":1234,"links":1235},"リソース",[1236,1241,1246,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1272],{"text":1237,"config":1238},"インストール",{"href":1239,"dataGaName":1240,"dataGaLocation":1073},"/ja-jp/install/","install",{"text":1242,"config":1243},"クイックスタートガイド",{"href":1244,"dataGaName":1245,"dataGaLocation":1073},"/ja-jp/get-started/","quick setup checklists",{"text":840,"config":1247},{"href":1248,"dataGaName":843,"dataGaLocation":1073},"https://docs.gitlab.com/ja-jp",{"text":845,"config":1250},{"href":847,"dataGaName":848,"dataGaLocation":1073},{"text":850,"config":1252},{"href":852,"dataGaName":853,"dataGaLocation":1073},{"text":855,"config":1254},{"href":857,"dataGaName":858,"dataGaLocation":1073},{"text":860,"config":1256},{"href":862,"dataGaName":863,"dataGaLocation":1073},{"text":868,"config":1258},{"href":870,"dataGaName":871,"dataGaLocation":1073},{"text":873,"config":1260},{"href":875,"dataGaName":876,"dataGaLocation":1073},{"text":878,"config":1262},{"href":880,"dataGaName":881,"dataGaLocation":1073},{"text":883,"config":1264},{"href":885,"dataGaName":622,"dataGaLocation":1073},{"text":887,"config":1266},{"href":889,"dataGaName":890,"dataGaLocation":1073},{"text":950,"config":1268},{"href":952,"dataGaName":953,"dataGaLocation":1073},{"text":1270,"config":1271},"最新リリース",{"href":898,"dataGaName":899,"dataGaLocation":1073},{"text":1273,"config":1274},"すべてのリソース",{"href":834,"dataGaName":1275,"dataGaLocation":1073},"all resources",{"title":1277,"links":1278},"会社情報",[1279,1281,1283,1285,1287,1289,1291,1293,1295,1299,1304],{"text":909,"config":1280},{"href":911,"dataGaName":903,"dataGaLocation":1073},{"text":914,"config":1282},{"href":916,"dataGaName":917,"dataGaLocation":1073},{"text":920,"config":1284},{"href":922,"dataGaName":923,"dataGaLocation":1073},{"text":925,"config":1286},{"href":927,"dataGaName":928,"dataGaLocation":1073},{"text":930,"config":1288},{"href":932,"dataGaName":933,"dataGaLocation":1073},{"text":935,"config":1290},{"href":937,"dataGaName":938,"dataGaLocation":1073},{"text":940,"config":1292},{"href":942,"dataGaName":943,"dataGaLocation":1073},{"text":945,"config":1294},{"href":947,"dataGaName":948,"dataGaLocation":1073},{"text":1296,"config":1297},"Sustainability",{"href":1298,"dataGaName":1296,"dataGaLocation":1073},"/sustainability/",{"text":1300,"config":1301},"ダイバーシティ、インクルージョン、ビロンギング（DIB）",{"href":1302,"dataGaName":1303,"dataGaLocation":1073},"/ja-jp/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":1305,"config":1306},"現代奴隷制の透明性に関する声明",{"href":1307,"dataGaName":1308,"dataGaLocation":1073},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":1310},[1311,1313,1315],{"text":1122,"config":1312},{"href":1124,"dataGaName":1125,"dataGaLocation":1073},{"text":1132,"config":1314},{"dataGaName":1134,"dataGaLocation":1073,"id":1135,"isOneTrustButton":613},{"text":1127,"config":1316},{"href":1129,"dataGaName":1130,"dataGaLocation":1073},[1318,1332],{"id":1319,"title":1320,"body":609,"config":1321,"content":1323,"description":609,"extension":1326,"meta":1327,"navigation":613,"path":1328,"seo":1329,"stem":1330,"__hash__":1331},"blogAuthors/en-us/blog/authors/javier-urones-montesern-clober.yml","Javier Urones Montesern Clober",{"template":1322},"BlogAuthor",{"name":7,"config":1324},{"headshot":1325},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1786716301/m4ef0w9sgufwnsnjmip7.jpg","yml",{},"/en-us/blog/authors/javier-urones-montesern-clober",{},"en-us/blog/authors/javier-urones-montesern-clober","nOElEDg3yb2BENyQahBvRi_wTQHyakdSMJfSxFLyLPQ",{"id":1333,"title":1334,"body":609,"config":1335,"content":1336,"description":609,"extension":1326,"meta":1340,"navigation":613,"path":1341,"seo":1342,"stem":1343,"__hash__":1344},"blogAuthors/en-us/blog/authors/pter-bozs.yml","Pter Bozs",{"template":1322},{"name":8,"config":1337},{"headshot":1338,"ctfId":1339},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749666384/Blog/Author%20Headshots/pbozso_headshot.png","4i1NVYip0RqxRnbpZ9deKp",{},"/en-us/blog/authors/pter-bozs",{},"en-us/blog/authors/pter-bozs","M3DsNH5-3AKaaKicmGt_Gqj-Vp7wbz2QaGO8u57CB04",[1346,1354,1362],{"title":1347,"description":1348,"heroImage":1349,"category":605,"date":1350,"authors":1351,"slug":1353,"externalUrl":609},"Django製GRCツールにモジュール単位のアクセス制御を実装する","GitLabのセキュリティコンプライアンスチームと内部監査チームという性質の異なる2つのチームを1つの基盤で支えるために、Django製の社内ツールをどう再構築したのか。その技術的な詳細を解説します。","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097663/Blog/Hero%20Images/Blog/Hero%20Images/Workflow%201800x945_2gQoQIbY9NvjLFpXtsxtXy_1750097663612.png","2026-10-05",[1352],"Donovan Felton","module-level-access-in-a-django-grc-app",{"title":1355,"description":1356,"heroImage":1357,"category":605,"date":1358,"authors":1359,"slug":1361,"externalUrl":609},"GitLabがエージェント型フローあたりのコード量を45%削減した方法","YAML設定を完全に機能するLangGraphフローへコンパイルするコンポーネントベースのフレームワーク「Flow Registry」によって、GitLabはエージェント型フロー1つあたりのコード量を45%削減し、スケーラビリティや信頼性を高めました。その設計原則と得られた教訓を詳しく解説します。","https://res.cloudinary.com/about-gitlab-com/image/upload/v1774465167/n5hlvrsrheadeccyr1oz.png","2026-09-22",[1360],"Mikolaj Wawrzyniak","how-gitlab-reduced-code-per-agentic-flow-ratio",{"title":1363,"description":1364,"heroImage":1365,"category":605,"date":1366,"authors":1367,"slug":1369,"externalUrl":609},"650人超が生んだ4,874件の改善、GitLab Co-Createの半年","GitLabユーザーが開発チームと共同で、2026年上半期に実現した実用的なプロダクト改善をご紹介します。","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750099203/Blog/Hero%20Images/Blog/Hero%20Images/blog-image-template-1800x945%20%2820%29_2bJGC5ZP3WheoqzlLT05C5_1750099203484.png","2026-09-10",[1368],"Isa Huerga","co-create-h1-2026",{"header":1371,"text":1372,"button":1376,"disclaimer":1379},"無料の\n\n30日間のGitLabトライアルを開始\n",[1373,1374,1375],"GitLab Duo Agent Platformへのアクセス","GitLabの最も高度な機能を試す","AIで複雑なタスクを自動化する",{"text":633,"config":1377},{"href":1378,"dataGaName":636,"dataGaLocation":871},"https://gitlab.com/-/trials/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/ja-jp/blog/","クレジットカードなしでご登録いただけます。",{"header":1381,"blurb":1382,"button":1383,"secondaryButton":1387},"今すぐ開発をスピードアップ","DevSecOpsに特化したインテリジェントオーケストレーションプラットフォームで実現できることをご確認ください。\n",{"text":633,"config":1384},{"href":1385,"dataGaName":636,"dataGaLocation":1386},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/ja-jp/","feature",{"text":955,"config":1388},{"href":964,"dataGaName":641,"dataGaLocation":1386},1791952292517]