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