[{"data":1,"prerenderedAt":722},["ShallowReactive",2],{"/ja-jp/topics/gitops/gitlab-enables-infrastructure-as-code":3,"navigation-ja-jp":98,"banner-ja-jp":498,"footer-ja-jp":508,"next-steps-ja-jp":713},{"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":428,"minimal":461,"duo":478,"pricingDeployment":488},{"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&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,244,249,350,410],{"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":226},"製品",{"dataNavLevelOne":151},"solutions",{"text":153,"config":154},"すべてのソリューションを表示",{"href":155,"dataGaName":151,"dataGaLocation":104},"/ja-jp/solutions/",[157,182,204],{"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},"Application Security Testing",{"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},"Software Compliance",{"href":203,"dataGaName":201,"dataGaLocation":104},"/ja-jp/solutions/software-compliance/",{"title":205,"link":206,"items":211},"測定",{"config":207},{"icon":208,"href":209,"dataGaName":210,"dataGaLocation":104},"DigitalTransformation","/ja-jp/solutions/visibility-measurement/","visibility and measurement",[212,216,221],{"text":213,"config":214},"可視性と測定",{"href":209,"dataGaLocation":104,"dataGaName":215},"Visibility and Measurement",{"text":217,"config":218},"バリューストリーム管理",{"href":219,"dataGaLocation":104,"dataGaName":220},"/ja-jp/solutions/value-stream-management/","Value Stream Management",{"text":222,"config":223},"分析とインサイト",{"href":224,"dataGaLocation":104,"dataGaName":225},"/ja-jp/solutions/analytics-and-insights/","Analytics and insights",{"title":227,"items":228},"GitLabが活躍する場所",[229,234,239],{"text":230,"config":231},"Enterprise",{"href":232,"dataGaLocation":104,"dataGaName":233},"/ja-jp/enterprise/","enterprise",{"text":235,"config":236},"スモールビジネス",{"href":237,"dataGaLocation":104,"dataGaName":238},"/ja-jp/small-business/","small business",{"text":240,"config":241},"公共機関",{"href":242,"dataGaLocation":104,"dataGaName":243},"/ja-jp/solutions/public-sector/","public sector",{"text":245,"config":246},"価格",{"href":247,"dataGaName":248,"dataGaLocation":104,"dataNavLevelOne":248},"/ja-jp/pricing/","pricing",{"text":250,"config":251,"link":253,"lists":257,"feature":337},"関連リソース",{"dataNavLevelOne":252},"resources",{"text":254,"config":255},"すべてのリソースを表示",{"href":256,"dataGaName":252,"dataGaLocation":104},"/ja-jp/resources/",[258,291,309],{"title":259,"items":260},"はじめに",[261,266,271,276,281,286],{"text":262,"config":263},"インストール",{"href":264,"dataGaName":265,"dataGaLocation":104},"/ja-jp/install/","install",{"text":267,"config":268},"クイックスタートガイド",{"href":269,"dataGaName":270,"dataGaLocation":104},"/ja-jp/get-started/","quick setup checklists",{"text":272,"config":273},"学ぶ",{"href":274,"dataGaLocation":104,"dataGaName":275},"https://university.gitlab.com/","learn",{"text":277,"config":278},"製品ドキュメント",{"href":279,"dataGaName":280,"dataGaLocation":104},"https://docs.gitlab.com/","product documentation",{"text":282,"config":283},"ベストプラクティスビデオ",{"href":284,"dataGaName":285,"dataGaLocation":104},"/ja-jp/getting-started-videos/","best practice videos",{"text":287,"config":288},"インテグレーション",{"href":289,"dataGaName":290,"dataGaLocation":104},"/ja-jp/integrations/","integrations",{"title":292,"items":293},"検索する",[294,299,304],{"text":295,"config":296},"お客様成功事例",{"href":297,"dataGaName":298,"dataGaLocation":104},"/ja-jp/customers/","customer success stories",{"text":300,"config":301},"ブログ",{"href":302,"dataGaName":303,"dataGaLocation":104},"/ja-jp/blog/","blog",{"text":305,"config":306},"リモート",{"href":307,"dataGaName":308,"dataGaLocation":104},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":310,"items":311},"つなげる",[312,317,322,327,332],{"text":313,"config":314},"GitLabサービス",{"href":315,"dataGaName":316,"dataGaLocation":104},"/ja-jp/services/","services",{"text":318,"config":319},"コミュニティ",{"href":320,"dataGaName":321,"dataGaLocation":104},"/community/","community",{"text":323,"config":324},"フォーラム",{"href":325,"dataGaName":326,"dataGaLocation":104},"https://forum.gitlab.com/","forum",{"text":328,"config":329},"イベント",{"href":330,"dataGaName":331,"dataGaLocation":104},"/events/","events",{"text":333,"config":334},"パートナー",{"href":335,"dataGaName":336,"dataGaLocation":104},"/ja-jp/partners/","partners",{"backgroundColor":338,"textColor":339,"text":340,"image":341,"link":345},"#2f2a6b","#fff","ソフトウェア開発の未来への洞察",{"altText":342,"config":343},"ソースプロモカード",{"src":344},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758208064/dzl0dbift9xdizyelkk4.svg",{"text":346,"config":347},"最新情報を読む",{"href":348,"dataGaName":349,"dataGaLocation":104},"/ja-jp/the-source/","the source",{"text":351,"config":352,"lists":354},"会社情報",{"dataNavLevelOne":353},"company",[355],{"items":356},[357,362,368,370,375,380,385,390,395,400,405],{"text":358,"config":359},"GitLabについて",{"href":360,"dataGaName":361,"dataGaLocation":104},"/ja-jp/company/","about",{"text":363,"config":364,"footerGa":367},"採用情報",{"href":365,"dataGaName":366,"dataGaLocation":104},"/jobs/","jobs",{"dataGaName":366},{"text":328,"config":369},{"href":330,"dataGaName":331,"dataGaLocation":104},{"text":371,"config":372},"経営陣",{"href":373,"dataGaName":374,"dataGaLocation":104},"/company/team/e-group/","leadership",{"text":376,"config":377},"チーム",{"href":378,"dataGaName":379,"dataGaLocation":104},"/company/team/","team",{"text":381,"config":382},"ハンドブック",{"href":383,"dataGaName":384,"dataGaLocation":104},"https://handbook.gitlab.com/","handbook",{"text":386,"config":387},"投資家向け情報",{"href":388,"dataGaName":389,"dataGaLocation":104},"https://ir.gitlab.com/","investor relations",{"text":391,"config":392},"トラストセンター",{"href":393,"dataGaName":394,"dataGaLocation":104},"/ja-jp/security/","trust center",{"text":396,"config":397},"AI Transparency Center",{"href":398,"dataGaName":399,"dataGaLocation":104},"/ja-jp/ai-transparency-center/","ai transparency center",{"text":401,"config":402},"ニュースレター",{"href":403,"dataGaName":404,"dataGaLocation":104},"/company/contact/#contact-forms","newsletter",{"text":406,"config":407},"プレス",{"href":408,"dataGaName":409,"dataGaLocation":104},"/press/","press",{"text":111,"config":411,"lists":412},{"dataNavLevelOne":353},[413],{"items":414},[415,418,423],{"text":111,"config":416},{"href":113,"dataGaName":417,"dataGaLocation":104},"talk to sales",{"text":419,"config":420},"サポートポータル",{"href":421,"dataGaName":422,"dataGaLocation":104},"https://support.gitlab.com","support portal",{"text":424,"config":425},"カスタマーポータル",{"href":426,"dataGaName":427,"dataGaLocation":104},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":429,"login":430,"suggestions":437},"閉じる",{"text":431,"link":432},"リポジトリとプロジェクトを検索するには、次にログインします",{"text":433,"config":434},"GitLab.com",{"href":118,"dataGaName":435,"dataGaLocation":436},"search login","search",{"text":438,"default":439},"提案",[440,442,447,449,453,457],{"text":133,"config":441},{"href":138,"dataGaName":133,"dataGaLocation":436},{"text":443,"config":444},"コード提案（AI）",{"href":445,"dataGaName":446,"dataGaLocation":436},"/ja-jp/solutions/code-suggestions/","Code Suggestions (AI)",{"text":167,"config":448},{"href":169,"dataGaName":167,"dataGaLocation":436},{"text":450,"config":451},"GitLab on AWS",{"href":452,"dataGaName":450,"dataGaLocation":436},"/ja-jp/partners/technology-partners/aws/",{"text":454,"config":455},"GitLab on Google Cloud",{"href":456,"dataGaName":454,"dataGaLocation":436},"/ja-jp/partners/technology-partners/google-cloud-platform/",{"text":458,"config":459},"GitLabを選ぶ理由",{"href":146,"dataGaName":460,"dataGaLocation":436},"Why GitLab?",{"freeTrial":462,"mobileIcon":466,"desktopIcon":471,"secondaryButton":474},{"text":106,"config":463},{"href":464,"dataGaName":109,"dataGaLocation":465},"https://gitlab.com/-/trials/new/","nav",{"altText":467,"config":468},"GitLabアイコン",{"src":469,"dataGaName":470,"dataGaLocation":465},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":467,"config":472},{"src":473,"dataGaName":470,"dataGaLocation":465},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":259,"config":475},{"href":476,"dataGaName":477,"dataGaLocation":465},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/ja-jp/compare/gitlab-vs-github/","get started",{"freeTrial":479,"mobileIcon":484,"desktopIcon":486},{"text":480,"config":481},"GitLab Duoの詳細について",{"href":482,"dataGaName":483,"dataGaLocation":465},"/ja-jp/gitlab-duo/","gitlab duo",{"altText":467,"config":485},{"src":469,"dataGaName":470,"dataGaLocation":465},{"altText":467,"config":487},{"src":473,"dataGaName":470,"dataGaLocation":465},{"freeTrial":489,"mobileIcon":494,"desktopIcon":496},{"text":490,"config":491},"料金ページに戻る",{"href":247,"dataGaName":492,"dataGaLocation":465,"icon":493},"back to pricing","GoBack",{"altText":467,"config":495},{"src":469,"dataGaName":470,"dataGaLocation":465},{"altText":467,"config":497},{"src":473,"dataGaName":470,"dataGaLocation":465},{"title":499,"button":500,"config":505},"エージェント型AIがソフトウェア配信をどのように変革するかをご覧ください",{"text":501,"config":502},"GitLab Transcendを今すぐ視聴",{"href":503,"dataGaName":504,"dataGaLocation":104},"/ja-jp/events/transcend/virtual/","transcend event",{"layout":506,"icon":507},"release","AiStar",{"data":509},{"text":510,"source":511,"edit":517,"contribute":522,"config":527,"items":532,"minimal":705},"GitはSoftware Freedom Conservancyの商標です。当社は「GitLab」をライセンスに基づいて使用しています",{"text":512,"config":513},"ページのソースを表示",{"href":514,"dataGaName":515,"dataGaLocation":516},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":518,"config":519},"このページを編集",{"href":520,"dataGaName":521,"dataGaLocation":516},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":523,"config":524},"ご協力をお願いします",{"href":525,"dataGaName":526,"dataGaLocation":516},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":528,"facebook":529,"youtube":530,"linkedin":531},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[533,556,609,639,674],{"title":122,"links":534,"subMenu":539},[535],{"text":536,"config":537},"DevSecOpsプラットフォーム",{"href":131,"dataGaName":538,"dataGaLocation":516},"devsecops platform",[540],{"title":245,"links":541},[542,546,551],{"text":543,"config":544},"プランの表示",{"href":247,"dataGaName":545,"dataGaLocation":516},"view plans",{"text":547,"config":548},"Premiumを選ぶ理由",{"href":549,"dataGaName":550,"dataGaLocation":516},"/ja-jp/pricing/premium/","why premium",{"text":552,"config":553},"Ultimateを選ぶ理由",{"href":554,"dataGaName":555,"dataGaLocation":516},"/ja-jp/pricing/ultimate/","why ultimate",{"title":557,"links":558},"ソリューション",[559,564,567,569,574,579,583,586,589,593,595,597,599,604],{"text":560,"config":561},"デジタルトランスフォーメーション",{"href":562,"dataGaName":563,"dataGaLocation":516},"/ja-jp/topics/digital-transformation/","digital transformation",{"text":565,"config":566},"セキュリティとコンプライアンス",{"href":187,"dataGaName":194,"dataGaLocation":516},{"text":179,"config":568},{"href":163,"dataGaName":164,"dataGaLocation":516},{"text":570,"config":571},"アジャイル開発",{"href":572,"dataGaName":573,"dataGaLocation":516},"/ja-jp/solutions/agile-delivery/","agile delivery",{"text":575,"config":576},"クラウドトランスフォーメーション",{"href":577,"dataGaName":578,"dataGaLocation":516},"/ja-jp/topics/cloud-native/","cloud transformation",{"text":580,"config":581},"SCM",{"href":176,"dataGaName":582,"dataGaLocation":516},"source code management",{"text":167,"config":584},{"href":169,"dataGaName":585,"dataGaLocation":516},"continuous integration & delivery",{"text":217,"config":587},{"href":219,"dataGaName":588,"dataGaLocation":516},"value stream management",{"text":17,"config":590},{"href":591,"dataGaName":592,"dataGaLocation":516},"/ja-jp/solutions/gitops/","gitops",{"text":230,"config":594},{"href":232,"dataGaName":233,"dataGaLocation":516},{"text":235,"config":596},{"href":237,"dataGaName":238,"dataGaLocation":516},{"text":240,"config":598},{"href":242,"dataGaName":243,"dataGaLocation":516},{"text":600,"config":601},"教育",{"href":602,"dataGaName":603,"dataGaLocation":516},"/ja-jp/solutions/education/","education",{"text":605,"config":606},"金融サービス",{"href":607,"dataGaName":608,"dataGaLocation":516},"/ja-jp/solutions/finance/","financial services",{"title":250,"links":610},[611,613,615,617,620,622,625,627,629,631,633,635,637],{"text":262,"config":612},{"href":264,"dataGaName":265,"dataGaLocation":516},{"text":267,"config":614},{"href":269,"dataGaName":270,"dataGaLocation":516},{"text":272,"config":616},{"href":274,"dataGaName":275,"dataGaLocation":516},{"text":277,"config":618},{"href":279,"dataGaName":619,"dataGaLocation":516},"docs",{"text":300,"config":621},{"href":302,"dataGaName":303},{"text":623,"config":624},"お客様の成功事例",{"href":297,"dataGaLocation":516},{"text":295,"config":626},{"href":297,"dataGaName":298,"dataGaLocation":516},{"text":305,"config":628},{"href":307,"dataGaName":308,"dataGaLocation":516},{"text":313,"config":630},{"href":315,"dataGaName":316,"dataGaLocation":516},{"text":318,"config":632},{"href":320,"dataGaName":321,"dataGaLocation":516},{"text":323,"config":634},{"href":325,"dataGaName":326,"dataGaLocation":516},{"text":328,"config":636},{"href":330,"dataGaName":331,"dataGaLocation":516},{"text":333,"config":638},{"href":335,"dataGaName":336,"dataGaLocation":516},{"title":640,"links":641},"Company",[642,644,646,648,650,652,654,658,663,665,667,669],{"text":358,"config":643},{"href":360,"dataGaName":353,"dataGaLocation":516},{"text":363,"config":645},{"href":365,"dataGaName":366,"dataGaLocation":516},{"text":371,"config":647},{"href":373,"dataGaName":374,"dataGaLocation":516},{"text":376,"config":649},{"href":378,"dataGaName":379,"dataGaLocation":516},{"text":381,"config":651},{"href":383,"dataGaName":384,"dataGaLocation":516},{"text":386,"config":653},{"href":388,"dataGaName":389,"dataGaLocation":516},{"text":655,"config":656},"Sustainability",{"href":657,"dataGaName":655,"dataGaLocation":516},"/sustainability/",{"text":659,"config":660},"ダイバーシティ、インクルージョン、ビロンギング（DIB）",{"href":661,"dataGaName":662,"dataGaLocation":516},"/ja-jp/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":391,"config":664},{"href":393,"dataGaName":394,"dataGaLocation":516},{"text":401,"config":666},{"href":403,"dataGaName":404,"dataGaLocation":516},{"text":406,"config":668},{"href":408,"dataGaName":409,"dataGaLocation":516},{"text":670,"config":671},"現代奴隷制の透明性に関する声明",{"href":672,"dataGaName":673,"dataGaLocation":516},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"title":111,"links":675},[676,678,683,685,690,695,700],{"text":111,"config":677},{"href":113,"dataGaName":114,"dataGaLocation":516},{"text":679,"config":680},"サポートを受ける",{"href":681,"dataGaName":682,"dataGaLocation":516},"/support/","get help",{"text":424,"config":684},{"href":426,"dataGaName":427,"dataGaLocation":516},{"text":686,"config":687},"ステータス",{"href":688,"dataGaName":689,"dataGaLocation":516},"https://status.gitlab.com/","status",{"text":691,"config":692},"利用規約",{"href":693,"dataGaName":694,"dataGaLocation":516},"/terms/","terms of use",{"text":696,"config":697},"プライバシーに関する声明",{"href":698,"dataGaName":699,"dataGaLocation":516},"/ja-jp/privacy/","privacy statement",{"text":701,"config":702},"Cookieの設定",{"dataGaName":703,"dataGaLocation":516,"id":704,"isOneTrustButton":91},"cookie preferences","ot-sdk-btn",{"items":706},[707,709,711],{"text":691,"config":708},{"href":693,"dataGaName":694,"dataGaLocation":516},{"text":696,"config":710},{"href":698,"dataGaName":699,"dataGaLocation":516},{"text":701,"config":712},{"dataGaName":703,"dataGaLocation":516,"id":704,"isOneTrustButton":91},{"header":714,"blurb":715,"button":716,"secondaryButton":720},"今すぐ開発をスピードアップ","DevSecOpsに特化したインテリジェントオーケストレーションプラットフォームで実現できることをご確認ください。\n",{"text":106,"config":717},{"href":718,"dataGaName":109,"dataGaLocation":719},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/","feature",{"text":111,"config":721},{"href":113,"dataGaName":114,"dataGaLocation":719},1772652113770]