[{"data":1,"prerenderedAt":762},["ShallowReactive",2],{"/ja-jp/topics/gitops/gitlab-enables-infrastructure-as-code":3,"navigation-ja-jp":98,"banner-ja-jp":509,"footer-ja-jp":519,"next-steps-ja-jp":753},{"id":4,"title":5,"body":6,"category":6,"config":6,"content":7,"description":6,"extension":89,"meta":90,"navigation":91,"path":92,"seo":93,"slug":6,"stem":96,"testContent":6,"type":6,"__hash__":97},"pages/ja-jp/topics/gitops/gitlab-enables-infrastructure-as-code/index.yml","",null,[8,22,30,87],{"type":9,"componentName":9,"componentContent":10},"CommonBreadcrumbs",{"crumbs":11},[12,16,20],{"title":13,"config":14},"Industry topics",{"href":15},"/topics/",{"title":17,"config":18},"GitOps",{"href":19},"/ja-jp/topics/gitops/",{"title":21},"Gitlab enables infrastructure as code",{"type":23,"componentName":23,"componentContent":24},"CommonArticleHero",{"title":25,"text":26,"config":27},"Infrastructure as CodeのためのGitLabとTerraformの使い方：デモ","このデモでは、Terraformの自動化のために、そしてGitLabを信頼できる唯一の情報源として使い、Infrastructure as Codeをデプロイするための優れたGitOps手順をご紹介します。\n",{"id":28,"twoColumns":29},"infrastructure-as-codeのためのgitlabとterraformの使い方：デモ",false,{"type":31,"componentName":31,"componentContent":32},"CommonSideNavigationWithTree",{"anchors":33,"components":56},{"text":34,"data":35},"このトピックの詳細",[36,40,44,48,52],{"text":37,"config":38},"GitLabでInfrastructure as Codeを有効にする方法を学ぶ",{"href":39},"#learn-how-git-lab-enables-infrastructure-as-code",{"text":41,"config":42},"GitLabでInfrastructure as Codeを構築する",{"href":43},"#building-your-infrastructure-as-code-in-git-lab",{"text":45,"config":46},"インフラストラクチャサブグループの内部",{"href":47},"#inside-the-infrastructure-subgroup",{"text":49,"config":50},"GitLab CIを使ってコードをデプロイする",{"href":51},"#deploying-code-using-git-lab-ci",{"text":53,"config":54},"GitOpsについて詳しく見る",{"href":55},"#ready-to-learn-more-about-git-ops",[57,62,67,72,77,82],{"type":58,"componentName":58,"componentContent":59},"TopicsCopy",{"text":60,"config":61},"複数のチームがすべての[インフラストラクチャ](/blog/using-ansible-and-gitlab-as-infrastructure-for-code/){data-ga-name=\"infrastructure\" data-ga-location=\"body\"}とアプリケーションのデプロイコードのために、信頼できる唯一の情報源としてGitリポジトリーを使用している場合、それらのチームは優れたGitOps手順を実行していることになります。インフラストラクチャチームは、Terraformを使って自動化することで、複数のクラウドサービスに共同でコードをデプロイすることができます。この記事では、チームがGitLab内でチームメンバーと協力してKubernetesクラスターを作成する方法を紹介します。\n",{"id":5},{"type":58,"componentName":58,"componentContent":63},{"header":37,"text":64,"config":65},"このデモでは、Terraformを用いて自動化し、GitLabを信頼できる唯一の情報源（および CI）として使用してInfrastructure as Codeをデプロイするための効果的なGitOpsの利用方法をご紹介します。\n",{"id":66},"learn-how-git-lab-enables-infrastructure-as-code",{"type":58,"componentName":58,"componentContent":68},{"header":41,"text":69,"config":70},"### はじめに\n\n_この[GitOps-Demoグループ](https://gitlab.com/gitops-demo)には、インフラストラクチャチームが実行できる手順を紹介しています。_\n\nまず、GitLab内のプロジェクトが存在するグループにログインします。次に[README.md](https://gitlab.com/gitops-demo/readme/blob/master/README.md)ファイルを開き、GitOps-Demoグループの基本構造を確認します。いくつかの個別のプロジェクトと、**[infrastructure（インフラストラクチャ）](https://gitlab.com/gitops-demo/infra)と**[applications（アプリケーション）](https://gitlab.com/gitops-demo/apps)という2つのサブグループがあります。",{"id":71},"building-your-infrastructure-as-code-in-git-lab",{"type":58,"componentName":58,"componentContent":73},{"header":45,"text":74,"config":75},"Azure、GCP、AWSの各クラウドの個別のリポジトリと、テンプレート用のリポジトリがあります。\n同様のファイルは、3つの[クラウド](/blog/gitlab-ci-cd-is-for-multi-cloud/){data-ga-name=\"cloud\" data-ga-location=\"body\"}リポジトリのすべてに存在します。すべてのファイルはTerraformで書かれており、デプロイプロセスを自動化します。また、gitlab-ci.ymlファイルもリポジトリに保存されており、自動化のための指示を提供します。\n\n### バックエンドファイル\n\nHashiCorpの[Terraform Cloud Service](https://www.hashicorp.com/blog/announcing-terraform-cloud)をステートファイルのリモートロケーションとして使用することで、ステートファイルを安全に、かつどのプロセスからでもアクセスできるよう一元管理できます。Terraform Cloudを使用する利点の1つに一度に1つのジョブしか実行できないように状態をロックする機能があり、複数のジョブが競合する変更を行うことを防ぎます。このコードは[Terraform Cloud](https://app.terraform.io)のawsというワークスペース内の`gitops-demo`という組織にstateファイルを保存します。 これにより、実行中の状態がクラウドプロバイダーに保持され、チームメンバーであればいつでもアクセスできるようになります。\n\n```shell\nterraform {\n  backend \"remote\" {\n    hostname     = \"app.terraform.io\"\n    organization = \"gitops-demo\"\n    workspaces {\n      name = \"aws\"\n    }\n  }\n}\n\n```\n\n\n### EKS.tf file\n\nEKSは、Terraformクラスター用のEKSモジュールを利用する別のTerraformファイルです。 チームは、EKS terraformファイルにサブネットのタイプやノード数などのパラメータを定義することができます。\n\n```text\nmodule \"eks\" {\n  source           = \"terraform-aws-modules/eks/aws\"\n  cluster_name     = \"gitops-demo-eks\"\n  subnets          = \"${module.vpc.public_subnets}\"\n  write_kubeconfig = \"false\"\n  tags = {\n    Terraform   = \"true\"\n    Environment = \"dev\"\n  }\n  vpc_id = \"${module.vpc.vpc_id}\"\n  worker_groups = [\n    {\n      instance_type = \"m4.large\"\n      asg_max_size  = 5\n      tags = [{\n        key                 = \"Terraform\"\n        value               = \"true\"\n        propagate_at_launch = true\n      }]\n    }\n  ]\n}\n```\n\n\n### GitLab管理者の定義\n\nKubernetesプロバイダーを使って、GitLab管理者ユーザーを作成し、[自動的にコードとしてTerraformによって管理される](https://gitlab.com/gitops-demo/infra/aws/blob/master/gitlab-admin.tf)ように設定することが可能です。\n\n### クラスターをGitLabに登録する\n\nKubernetesクラスターが作成できたので、今後さらに多くのコードをクラスターにデプロイできるように、GitLabに登録しましょう。まず最初に、GitLabプロバイダーを使って「AWS cluster」という名前のグループクラスターを作成します。\n\n```text\ndata \"gitlab_group\" \"gitops-demo-apps\" {\n  full_path = \"gitops-demo/apps\"\n}\nprovider \"gitlab\" {\n  alias   = \"use-pre-release-plugin\"\n  version = \"v2.99.0\"\n}\nresource \"gitlab_group_cluster\" \"aws_cluster\" {\n  provider           = \"gitlab.use-pre-release-plugin\"\n  group              = \"${data.gitlab_group.gitops-demo-apps.id}\"\n  name               = \"${module.eks.cluster_id}\"\n  domain             = \"eks.gitops-demo.com\"\n  environment_scope  = \"eks/*\"\n  kubernetes_api_url = \"${module.eks.cluster_endpoint}\"\n  kubernetes_token   = \"${data.kubernetes_secret.gitlab-admin-token.data.token}\"\n  kubernetes_ca_cert = \"${trimspace(base64decode(module.eks.cluster_certificate_authority_data))}\"\n}\n```\n\n\nこのコードには、ドメイン名、環境スコープ、Kubernetes認証情報が含まれています。\n\nこれが実行されると、AWSにクラスターが作成され、自動的に[gitops-demo/apps](https://gitlab.com/gitops-demo/apps)グループに登録されます。\n",{"id":76},"inside-the-infrastructure-subgroup",{"type":58,"componentName":58,"componentContent":78},{"header":49,"text":79,"config":80},"### Terraformテンプレート\n\nインフラストラクチャグループに戻り、テンプレートフォルダーを開きます。[terraform.gitlab-ci.yml](https://gitlab.com/gitops-demo/infra/templates/blob/master/terraform.gitlab-ci.yml)ファイルを見ると、CIがどのようにTerraformを使ってインフラストラクチャのコードをクラウドにデプロイするかを確認することができます。CIファイルの中では、validate、plan、apply、destroyといういくつかのステージを確認することができます。HashicorpのTerraformベースイメージを使用して、ユーザーはさまざまなタスクを実行できます。\n\n最初のステップは、Terraformを初期化することです。\n\n```yaml\nbefore_script:\n  - terraform --version\n  - terraform init\n  - apk add --update curl\n  - curl -o kubectl https://amazon-eks.s3-us-west-2.amazonaws.com/1.13.7/2019-06-11/bin/linux/amd64/kubectl\n  - install kubectl /usr/local/bin/ && rm kubectl\n  - curl -o aws-iam-authenticator https://amazon-eks.s3-us-west-2.amazonaws.com/1.13.7/2019-06-11/bin/linux/amd64/aws-iam-authenticator\n  - install aws-iam-authenticator /usr/local/bin/ && rm aws-iam-authenticator\n```\n\n\n次のステップですべてが正しいことを検証します。\n\n```yaml\nvalidate:\n  stage: validate\n  script:\n    - terraform validate\n    - terraform fmt -check=true\n  only:\n    - branches\n```\n\n\nGitOpsのワークフローがうまく機能するためには、変更の[マージリクエスト](/blog/mr-reviews-with-vs-code/){data-ga-name=\"merge request\" data-ga-location=\"body\"}を作成することが重要です。\n\n```text\nmerge review:\n  stage: plan\n  script:\n    - terraform plan -out=$PLAN\n    - echo \\`\\`\\`diff > plan.txt\n    - terraform show -no-color ${PLAN} | tee -a plan.txt\n    - echo \\`\\`\\` >> plan.txt\n    - sed -i -e 's/  +/+/g' plan.txt\n    - sed -i -e 's/  ~/~/g' plan.txt\n    - sed -i -e 's/  -/-/g' plan.txt\n    - MESSAGE=$(cat plan.txt)\n    - >-\n      curl -X POST -g -H \"PRIVATE-TOKEN: ${GITLAB_TOKEN}\"\n      --data-urlencode \"body=${MESSAGE}\"\n      \"${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/merge_requests/${CI_MERGE_REQUEST_IID}/discussions\"\n  artifacts:\n    name: plan\n    paths:\n      - $PLAN\n  only:\n    - merge_requests\n```\n\n\n### マージリクエスト\n\n[マージリクエスト（MR）](https://gitlab.com/gitops-demo/infra/aws/merge_requests/6){data-ga-name=\"MR\" data-ga-location=\"body\"}は、GitOpsで最も重要なステップです。ここですべての変更をレビューし、変更の影響を確認します。また、MRは[コラボレーションツール](/blog/merge-request-reviewers/){data-ga-name=\"collaboration tool\" data-ga-location=\"body\"}でもあり、最終的にmainブランチにマージする前に、チームメンバーが変更点について議論したりステークホルダーが変更点を承認したりできる場所でもあります。\n\nマージリクエストは、Infrastructure as Codeを実行するときに何が起こるかを定義します。MRが作成された後、TerraformプランがMRにアップロードされます。すべての変更がレビューおよび承認された後、コードをmainブランチにマージできます。コードの変更がマージされると、すべての変更が本番環境にデプロイされます。\n",{"id":81},"deploying-code-using-git-lab-ci",{"type":58,"componentName":58,"componentContent":83},{"header":53,"text":84,"config":85},"* [Infrastructure as Codeとは](/topics/gitops/infrastructure-as-code/){data-ga-name=\"infrastructure as code\" data-ga-location=\"body\"}\n* [GitOpsとは](/topics/gitops/){data-ga-name=\"what is gitops\" data-ga-location=\"body\"}\n* [GitLabを使用してGitOpsワークフローを効率化する方法を学ぶ](/solutions/gitops/){data-ga-name=\"streamlines workflows\" data-ga-location=\"body\"}\n* [業界リーダーが語るGitOpsの未来](/why/gitops-infrastructure-automation/){data-ga-name=\"industry leaders\" data-ga-location=\"body\"}\n* [初心者向けGitOpsガイド](https://page.gitlab.com/resources-ebook-beginner-guide-gitops.html)\n",{"id":86},"ready-to-learn-more-about-git-ops",{"type":88,"componentName":88},"CommonNextSteps","yml",{},true,"/ja-jp/topics/gitops/gitlab-enables-infrastructure-as-code",{"title":25,"description":94,"config":95},"このデモでは、Terraformを用いて自動化し、GitLabを信頼できる唯一の情報源（および CI）として使用してInfrastructure as Codeをデプロイするための効果的なGitOpsの利用方法をご紹介します。",{"ignoreTitleCharLimit":91},"ja-jp/topics/gitops/gitlab-enables-infrastructure-as-code/index","HcxX_0s0gR8PL9ES3JFa2NKT6IP8NaEUQD00vT9lg60",{"data":99},{"logo":100,"freeTrial":105,"sales":110,"login":115,"items":120,"search":429,"minimal":462,"duo":479,"switchNav":488,"pricingDeployment":499},{"config":101},{"href":102,"dataGaName":103,"dataGaLocation":104},"/ja-jp/","gitlab logo","header",{"text":106,"config":107},"無料トライアルを開始",{"href":108,"dataGaName":109,"dataGaLocation":104},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/ja-jp&glm_content=default-saas-trial/","free trial",{"text":111,"config":112},"お問い合わせ",{"href":113,"dataGaName":114,"dataGaLocation":104},"/ja-jp/sales/","sales",{"text":116,"config":117},"サインイン",{"href":118,"dataGaName":119,"dataGaLocation":104},"https://gitlab.com/users/sign_in/","sign in",[121,148,245,250,351,411],{"text":122,"config":123,"cards":125},"プラットフォーム",{"dataNavLevelOne":124},"platform",[126,132,140],{"title":122,"description":127,"link":128},"DevSecOpsに特化したインテリジェントオーケストレーションプラットフォーム",{"text":129,"config":130},"プラットフォームを探索",{"href":131,"dataGaName":124,"dataGaLocation":104},"/ja-jp/platform/",{"title":133,"description":134,"link":135},"GitLab Duo Agent Platform","ソフトウェアライフサイクル全体を支えるエージェント型AI",{"text":136,"config":137},"GitLab Duoのご紹介",{"href":138,"dataGaName":139,"dataGaLocation":104},"/ja-jp/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":141,"description":142,"link":143},"GitLabが選ばれる理由","エンタープライズがGitLabを選ぶ主な理由をご覧ください",{"text":144,"config":145},"詳細はこちら",{"href":146,"dataGaName":147,"dataGaLocation":104},"/ja-jp/why-gitlab/","why gitlab",{"text":149,"left":91,"config":150,"link":152,"lists":156,"footer":227},"製品",{"dataNavLevelOne":151},"solutions",{"text":153,"config":154},"すべてのソリューションを表示",{"href":155,"dataGaName":151,"dataGaLocation":104},"/ja-jp/solutions/",[157,182,205],{"title":158,"description":159,"link":160,"items":165},"自動化","CI/CDと自動化でデプロイを加速",{"config":161},{"icon":162,"href":163,"dataGaName":164,"dataGaLocation":104},"AutomatedCodeAlt","/ja-jp/solutions/delivery-automation/","automated software delivery",[166,170,173,178],{"text":167,"config":168},"CI/CD",{"href":169,"dataGaLocation":104,"dataGaName":167},"/ja-jp/solutions/continuous-integration/",{"text":133,"config":171},{"href":138,"dataGaLocation":104,"dataGaName":172},"gitlab duo agent platform - product menu",{"text":174,"config":175},"ソースコード管理",{"href":176,"dataGaLocation":104,"dataGaName":177},"/ja-jp/solutions/source-code-management/","Source Code Management",{"text":179,"config":180},"自動化されたソフトウェアデリバリー",{"href":163,"dataGaLocation":104,"dataGaName":181},"Automated software delivery",{"title":183,"description":184,"link":185,"items":190},"セキュリティ","セキュリティを犠牲にすることなくコード作成を高速化",{"config":186},{"href":187,"dataGaName":188,"dataGaLocation":104,"icon":189},"/ja-jp/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[191,195,200],{"text":192,"config":193},"アプリケーションセキュリティテスト",{"href":187,"dataGaName":194,"dataGaLocation":104},"Application security testing",{"text":196,"config":197},"ソフトウェアサプライチェーンの安全性",{"href":198,"dataGaLocation":104,"dataGaName":199},"/ja-jp/solutions/supply-chain/","Software supply chain security",{"text":201,"config":202},"ソフトウェアコンプライアンス",{"href":203,"dataGaName":204,"dataGaLocation":104},"/ja-jp/solutions/software-compliance/","software compliance",{"title":206,"link":207,"items":212},"測定",{"config":208},{"icon":209,"href":210,"dataGaName":211,"dataGaLocation":104},"DigitalTransformation","/ja-jp/solutions/visibility-measurement/","visibility and measurement",[213,217,222],{"text":214,"config":215},"可視性と測定",{"href":210,"dataGaLocation":104,"dataGaName":216},"Visibility and Measurement",{"text":218,"config":219},"バリューストリーム管理",{"href":220,"dataGaLocation":104,"dataGaName":221},"/ja-jp/solutions/value-stream-management/","Value Stream Management",{"text":223,"config":224},"分析とインサイト",{"href":225,"dataGaLocation":104,"dataGaName":226},"/ja-jp/solutions/analytics-and-insights/","Analytics and insights",{"title":228,"items":229},"GitLabが活躍する場所",[230,235,240],{"text":231,"config":232},"大企業",{"href":233,"dataGaLocation":104,"dataGaName":234},"/ja-jp/enterprise/","enterprise",{"text":236,"config":237},"スモールビジネス",{"href":238,"dataGaLocation":104,"dataGaName":239},"/ja-jp/small-business/","small business",{"text":241,"config":242},"公共部門",{"href":243,"dataGaLocation":104,"dataGaName":244},"/ja-jp/solutions/public-sector/","public sector",{"text":246,"config":247},"価格",{"href":248,"dataGaName":249,"dataGaLocation":104,"dataNavLevelOne":249},"/ja-jp/pricing/","pricing",{"text":251,"config":252,"link":254,"lists":258,"feature":338},"リソース",{"dataNavLevelOne":253},"resources",{"text":255,"config":256},"すべてのリソースを表示",{"href":257,"dataGaName":253,"dataGaLocation":104},"/ja-jp/resources/",[259,292,310],{"title":260,"items":261},"はじめに",[262,267,272,277,282,287],{"text":263,"config":264},"インストール",{"href":265,"dataGaName":266,"dataGaLocation":104},"/ja-jp/install/","install",{"text":268,"config":269},"クイックスタートガイド",{"href":270,"dataGaName":271,"dataGaLocation":104},"/ja-jp/get-started/","quick setup checklists",{"text":273,"config":274},"学ぶ",{"href":275,"dataGaLocation":104,"dataGaName":276},"https://university.gitlab.com/","learn",{"text":278,"config":279},"製品ドキュメント",{"href":280,"dataGaName":281,"dataGaLocation":104},"https://docs.gitlab.com/ja-jp/","product documentation",{"text":283,"config":284},"ベストプラクティスビデオ",{"href":285,"dataGaName":286,"dataGaLocation":104},"/ja-jp/getting-started-videos/","best practice videos",{"text":288,"config":289},"インテグレーション",{"href":290,"dataGaName":291,"dataGaLocation":104},"/ja-jp/integrations/","integrations",{"title":293,"items":294},"検索する",[295,300,305],{"text":296,"config":297},"お客様成功事例",{"href":298,"dataGaName":299,"dataGaLocation":104},"/ja-jp/customers/","customer success stories",{"text":301,"config":302},"ブログ",{"href":303,"dataGaName":304,"dataGaLocation":104},"/ja-jp/blog/","blog",{"text":306,"config":307},"リモート",{"href":308,"dataGaName":309,"dataGaLocation":104},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":311,"items":312},"つなげる",[313,318,323,328,333],{"text":314,"config":315},"GitLabサービス",{"href":316,"dataGaName":317,"dataGaLocation":104},"/ja-jp/services/","services",{"text":319,"config":320},"コミュニティ",{"href":321,"dataGaName":322,"dataGaLocation":104},"/community/","community",{"text":324,"config":325},"フォーラム",{"href":326,"dataGaName":327,"dataGaLocation":104},"https://forum.gitlab.com/","forum",{"text":329,"config":330},"イベント",{"href":331,"dataGaName":332,"dataGaLocation":104},"/events/","events",{"text":334,"config":335},"パートナー",{"href":336,"dataGaName":337,"dataGaLocation":104},"/ja-jp/partners/","partners",{"backgroundColor":339,"textColor":340,"text":341,"image":342,"link":346},"#2f2a6b","#fff","ソフトウェア開発の未来への洞察",{"altText":343,"config":344},"ソースプロモカード",{"src":345},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758208064/dzl0dbift9xdizyelkk4.svg",{"text":347,"config":348},"最新情報を読む",{"href":349,"dataGaName":350,"dataGaLocation":104},"/ja-jp/the-source/","the source",{"text":352,"config":353,"lists":355},"会社情報",{"dataNavLevelOne":354},"company",[356],{"items":357},[358,363,369,371,376,381,386,391,396,401,406],{"text":359,"config":360},"GitLabについて",{"href":361,"dataGaName":362,"dataGaLocation":104},"/ja-jp/company/","about",{"text":364,"config":365,"footerGa":368},"採用情報",{"href":366,"dataGaName":367,"dataGaLocation":104},"/jobs/","jobs",{"dataGaName":367},{"text":329,"config":370},{"href":331,"dataGaName":332,"dataGaLocation":104},{"text":372,"config":373},"経営陣",{"href":374,"dataGaName":375,"dataGaLocation":104},"/company/team/e-group/","leadership",{"text":377,"config":378},"チーム",{"href":379,"dataGaName":380,"dataGaLocation":104},"/company/team/","team",{"text":382,"config":383},"ハンドブック",{"href":384,"dataGaName":385,"dataGaLocation":104},"https://handbook.gitlab.com/","handbook",{"text":387,"config":388},"投資家向け情報",{"href":389,"dataGaName":390,"dataGaLocation":104},"https://ir.gitlab.com/","investor relations",{"text":392,"config":393},"トラストセンター",{"href":394,"dataGaName":395,"dataGaLocation":104},"/ja-jp/security/","trust center",{"text":397,"config":398},"AI Transparency Center",{"href":399,"dataGaName":400,"dataGaLocation":104},"/ja-jp/ai-transparency-center/","ai transparency center",{"text":402,"config":403},"ニュースレター",{"href":404,"dataGaName":405,"dataGaLocation":104},"/company/contact/#contact-forms","newsletter",{"text":407,"config":408},"プレス",{"href":409,"dataGaName":410,"dataGaLocation":104},"/press/","press",{"text":111,"config":412,"lists":413},{"dataNavLevelOne":354},[414],{"items":415},[416,419,424],{"text":111,"config":417},{"href":113,"dataGaName":418,"dataGaLocation":104},"talk to sales",{"text":420,"config":421},"サポートを受ける",{"href":422,"dataGaName":423,"dataGaLocation":104},"https://support.gitlab.com","support portal",{"text":425,"config":426},"カスタマーポータル",{"href":427,"dataGaName":428,"dataGaLocation":104},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":430,"login":431,"suggestions":438},"閉じる",{"text":432,"link":433},"リポジトリとプロジェクトを検索するには、次にログインします",{"text":434,"config":435},"GitLab.com",{"href":118,"dataGaName":436,"dataGaLocation":437},"search login","search",{"text":439,"default":440},"提案",[441,443,448,450,454,458],{"text":133,"config":442},{"href":138,"dataGaName":133,"dataGaLocation":437},{"text":444,"config":445},"コード提案（AI）",{"href":446,"dataGaName":447,"dataGaLocation":437},"/ja-jp/solutions/code-suggestions/","Code Suggestions (AI)",{"text":167,"config":449},{"href":169,"dataGaName":167,"dataGaLocation":437},{"text":451,"config":452},"GitLab on AWS",{"href":453,"dataGaName":451,"dataGaLocation":437},"/ja-jp/partners/technology-partners/aws/",{"text":455,"config":456},"GitLab on Google Cloud",{"href":457,"dataGaName":455,"dataGaLocation":437},"/ja-jp/partners/technology-partners/google-cloud-platform/",{"text":459,"config":460},"GitLabを選ぶ理由",{"href":146,"dataGaName":461,"dataGaLocation":437},"Why GitLab?",{"freeTrial":463,"mobileIcon":467,"desktopIcon":472,"secondaryButton":475},{"text":106,"config":464},{"href":465,"dataGaName":109,"dataGaLocation":466},"https://gitlab.com/-/trials/new/","nav",{"altText":468,"config":469},"GitLabアイコン",{"src":470,"dataGaName":471,"dataGaLocation":466},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":468,"config":473},{"src":474,"dataGaName":471,"dataGaLocation":466},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":260,"config":476},{"href":477,"dataGaName":478,"dataGaLocation":466},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/ja-jp/get-started/","get started",{"freeTrial":480,"mobileIcon":484,"desktopIcon":486},{"text":481,"config":482},"GitLab Duoの詳細について",{"href":138,"dataGaName":483,"dataGaLocation":466},"gitlab duo",{"altText":468,"config":485},{"src":470,"dataGaName":471,"dataGaLocation":466},{"altText":468,"config":487},{"src":474,"dataGaName":471,"dataGaLocation":466},{"button":489,"mobileIcon":494,"desktopIcon":496},{"text":490,"config":491},"/switch",{"href":492,"dataGaName":493,"dataGaLocation":466},"#contact","switch",{"altText":468,"config":495},{"src":470,"dataGaName":471,"dataGaLocation":466},{"altText":468,"config":497},{"src":498,"dataGaName":471,"dataGaLocation":466},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":500,"mobileIcon":505,"desktopIcon":507},{"text":501,"config":502},"料金ページに戻る",{"href":248,"dataGaName":503,"dataGaLocation":466,"icon":504},"back to pricing","GoBack",{"altText":468,"config":506},{"src":470,"dataGaName":471,"dataGaLocation":466},{"altText":468,"config":508},{"src":474,"dataGaName":471,"dataGaLocation":466},{"title":510,"button":511,"config":516},"エージェント型AIがソフトウェア配信をどのように変革するかをご覧ください",{"text":512,"config":513},"GitLab Transcendを今すぐ視聴",{"href":514,"dataGaName":515,"dataGaLocation":104},"/ja-jp/events/transcend/virtual/","transcend event",{"layout":517,"icon":518,"disabled":91},"release","AiStar",{"data":520},{"text":521,"source":522,"edit":528,"contribute":533,"config":538,"items":543,"minimal":744},"GitはSoftware Freedom Conservancyの商標です。当社は「GitLab」をライセンスに基づいて使用しています",{"text":523,"config":524},"ページのソースを表示",{"href":525,"dataGaName":526,"dataGaLocation":527},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":529,"config":530},"このページを編集",{"href":531,"dataGaName":532,"dataGaLocation":527},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":534,"config":535},"ご協力をお願いします",{"href":536,"dataGaName":537,"dataGaLocation":527},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":539,"facebook":540,"youtube":541,"linkedin":542},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[544,589,640,683,710],{"title":246,"links":545,"subMenu":560},[546,550,555],{"text":547,"config":548},"プランの表示",{"href":248,"dataGaName":549,"dataGaLocation":527},"view plans",{"text":551,"config":552},"Premiumを選ぶ理由",{"href":553,"dataGaName":554,"dataGaLocation":527},"/ja-jp/pricing/premium/","why premium",{"text":556,"config":557},"Ultimateを選ぶ理由",{"href":558,"dataGaName":559,"dataGaLocation":527},"/ja-jp/pricing/ultimate/","why ultimate",[561],{"title":111,"links":562},[563,565,567,569,574,579,584],{"text":111,"config":564},{"href":113,"dataGaName":114,"dataGaLocation":527},{"text":420,"config":566},{"href":422,"dataGaName":423,"dataGaLocation":527},{"text":425,"config":568},{"href":427,"dataGaName":428,"dataGaLocation":527},{"text":570,"config":571},"ステータス",{"href":572,"dataGaName":573,"dataGaLocation":527},"https://status.gitlab.com/","status",{"text":575,"config":576},"利用規約",{"href":577,"dataGaName":578,"dataGaLocation":527},"/terms/","terms of use",{"text":580,"config":581},"プライバシーに関する声明",{"href":582,"dataGaName":583,"dataGaLocation":527},"/ja-jp/privacy/","privacy statement",{"text":585,"config":586},"Cookie 優先設定",{"dataGaName":587,"dataGaLocation":527,"id":588,"isOneTrustButton":91},"cookie preferences","ot-sdk-btn",{"title":149,"links":590,"subMenu":599},[591,595],{"text":592,"config":593},"DevSecOpsプラットフォーム",{"href":131,"dataGaName":594,"dataGaLocation":527},"devsecops platform",{"text":596,"config":597},"AI支援開発",{"href":138,"dataGaName":598,"dataGaLocation":527},"ai-assisted development",[600],{"title":601,"links":602},"トピック",[603,607,610,615,620,625,630,635],{"text":167,"config":604},{"href":605,"dataGaName":606,"dataGaLocation":527},"/ja-jp/topics/ci-cd/","cicd",{"text":17,"config":608},{"href":19,"dataGaName":609,"dataGaLocation":527},"gitops",{"text":611,"config":612},"DevOps",{"href":613,"dataGaName":614,"dataGaLocation":527},"/ja-jp/topics/devops/","devops",{"text":616,"config":617},"バージョン管理",{"href":618,"dataGaName":619,"dataGaLocation":527},"/ja-jp/topics/version-control/","version control",{"text":621,"config":622},"DevSecOps",{"href":623,"dataGaName":624,"dataGaLocation":527},"/ja-jp/topics/devsecops/","devsecops",{"text":626,"config":627},"クラウドネイティブ",{"href":628,"dataGaName":629,"dataGaLocation":527},"/ja-jp/topics/cloud-native/","cloud native",{"text":631,"config":632},"コーディングのためのAI",{"href":633,"dataGaName":634,"dataGaLocation":527},"/ja-jp/topics/devops/ai-for-coding/","ai for coding",{"text":636,"config":637},"エージェント型AI",{"href":638,"dataGaName":639,"dataGaLocation":527},"/ja-jp/topics/agentic-ai/","agentic ai",{"title":641,"links":642},"ソリューション",[643,646,648,653,657,660,663,666,668,670,673,678],{"text":192,"config":644},{"href":187,"dataGaName":645,"dataGaLocation":527},"Application Security Testing",{"text":179,"config":647},{"href":163,"dataGaName":164,"dataGaLocation":527},{"text":649,"config":650},"アジャイル開発",{"href":651,"dataGaName":652,"dataGaLocation":527},"/ja-jp/solutions/agile-delivery/","agile delivery",{"text":654,"config":655},"SCM",{"href":176,"dataGaName":656,"dataGaLocation":527},"source code management",{"text":167,"config":658},{"href":169,"dataGaName":659,"dataGaLocation":527},"continuous integration & delivery",{"text":218,"config":661},{"href":220,"dataGaName":662,"dataGaLocation":527},"value stream management",{"text":17,"config":664},{"href":665,"dataGaName":609,"dataGaLocation":527},"/ja-jp/solutions/gitops/",{"text":231,"config":667},{"href":233,"dataGaName":234,"dataGaLocation":527},{"text":236,"config":669},{"href":238,"dataGaName":239,"dataGaLocation":527},{"text":671,"config":672},"公共機関",{"href":243,"dataGaName":244,"dataGaLocation":527},{"text":674,"config":675},"教育",{"href":676,"dataGaName":677,"dataGaLocation":527},"/ja-jp/solutions/education/","education",{"text":679,"config":680},"金融サービス",{"href":681,"dataGaName":682,"dataGaLocation":527},"/ja-jp/solutions/finance/","financial services",{"title":251,"links":684},[685,687,689,691,694,696,698,700,702,704,706,708],{"text":263,"config":686},{"href":265,"dataGaName":266,"dataGaLocation":527},{"text":268,"config":688},{"href":270,"dataGaName":271,"dataGaLocation":527},{"text":273,"config":690},{"href":275,"dataGaName":276,"dataGaLocation":527},{"text":278,"config":692},{"href":280,"dataGaName":693,"dataGaLocation":527},"docs",{"text":301,"config":695},{"href":303,"dataGaName":304,"dataGaLocation":527},{"text":296,"config":697},{"href":298,"dataGaName":299,"dataGaLocation":527},{"text":306,"config":699},{"href":308,"dataGaName":309,"dataGaLocation":527},{"text":314,"config":701},{"href":316,"dataGaName":317,"dataGaLocation":527},{"text":319,"config":703},{"href":321,"dataGaName":322,"dataGaLocation":527},{"text":324,"config":705},{"href":326,"dataGaName":327,"dataGaLocation":527},{"text":329,"config":707},{"href":331,"dataGaName":332,"dataGaLocation":527},{"text":334,"config":709},{"href":336,"dataGaName":337,"dataGaLocation":527},{"title":352,"links":711},[712,714,716,718,720,722,724,728,733,735,737,739],{"text":359,"config":713},{"href":361,"dataGaName":354,"dataGaLocation":527},{"text":364,"config":715},{"href":366,"dataGaName":367,"dataGaLocation":527},{"text":372,"config":717},{"href":374,"dataGaName":375,"dataGaLocation":527},{"text":377,"config":719},{"href":379,"dataGaName":380,"dataGaLocation":527},{"text":382,"config":721},{"href":384,"dataGaName":385,"dataGaLocation":527},{"text":387,"config":723},{"href":389,"dataGaName":390,"dataGaLocation":527},{"text":725,"config":726},"Sustainability",{"href":727,"dataGaName":725,"dataGaLocation":527},"/sustainability/",{"text":729,"config":730},"ダイバーシティ、インクルージョン、ビロンギング（DIB）",{"href":731,"dataGaName":732,"dataGaLocation":527},"/ja-jp/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":392,"config":734},{"href":394,"dataGaName":395,"dataGaLocation":527},{"text":402,"config":736},{"href":404,"dataGaName":405,"dataGaLocation":527},{"text":407,"config":738},{"href":409,"dataGaName":410,"dataGaLocation":527},{"text":740,"config":741},"現代奴隷制の透明性に関する声明",{"href":742,"dataGaName":743,"dataGaLocation":527},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":745},[746,748,751],{"text":575,"config":747},{"href":577,"dataGaName":578,"dataGaLocation":527},{"text":749,"config":750},"Cookieの設定",{"dataGaName":587,"dataGaLocation":527,"id":588,"isOneTrustButton":91},{"text":580,"config":752},{"href":582,"dataGaName":583,"dataGaLocation":527},{"header":754,"blurb":755,"button":756,"secondaryButton":760},"今すぐ開発をスピードアップ","DevSecOpsに特化したインテリジェントオーケストレーションプラットフォームで実現できることをご確認ください。\n",{"text":106,"config":757},{"href":758,"dataGaName":109,"dataGaLocation":759},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/ja-jp/","feature",{"text":111,"config":761},{"href":113,"dataGaName":114,"dataGaLocation":759},1777576648874]