[{"data":1,"prerenderedAt":785},["ShallowReactive",2],{"/ja-jp/topics/gitops/gitlab-enables-infrastructure-as-code":3,"navigation-ja-jp":98,"banner-ja-jp":528,"footer-ja-jp":536,"next-steps-ja-jp":776},{"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},"/ja-jp/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の未来](/ja-jp/solutions/gitops/){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","9JMEvTWKYEJrRZjaEybhB9Jmg8YRd04QIIeEm88L0DU",{"logo":99,"freeTrial":104,"sales":109,"login":114,"items":119,"search":448,"minimal":481,"duo":498,"switchNav":507,"pricingDeployment":518},{"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/?contact-topic=request-demo","sales",{"text":115,"config":116},"サインイン",{"href":117,"dataGaName":118,"dataGaLocation":103},"https://gitlab.com/users/sign_in/","sign in",[120,149,251,256,370,426],{"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":359},{"text":262,"config":263},"すべてのリソースを表示",{"href":264,"dataGaName":259,"dataGaLocation":103},"/ja-jp/resources/",[266,299,326],{"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,317,321],{"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},"Demo Hub",{"href":315,"dataGaName":316,"dataGaLocation":103},"/ja-jp/demo-hub/","demo hub",{"text":318,"config":319},"The Source",{"href":320,"dataGaName":311,"dataGaLocation":103},"/ja-jp/the-source/",{"text":322,"config":323},"リモート",{"href":324,"dataGaName":325,"dataGaLocation":103},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":327,"items":328},"つなげる",[329,334,339,344,349,354],{"text":330,"config":331},"GitLabサービス",{"href":332,"dataGaName":333,"dataGaLocation":103},"/ja-jp/services/","services",{"text":335,"config":336},"コントリビュート",{"href":337,"dataGaName":338,"dataGaLocation":103},"https://contributors.gitlab.com","contribute",{"text":340,"config":341},"コミュニティ",{"href":342,"dataGaName":343,"dataGaLocation":103},"/community/","community",{"text":345,"config":346},"フォーラム",{"href":347,"dataGaName":348,"dataGaLocation":103},"https://forum.gitlab.com/","forum",{"text":350,"config":351},"イベント",{"href":352,"dataGaName":353,"dataGaLocation":103},"/events/","events",{"text":355,"config":356},"パートナー",{"href":357,"dataGaName":358,"dataGaLocation":103},"/ja-jp/partners/","partners",{"config":360,"title":363,"text":364,"link":365},{"background":361,"textColor":362},"url('https://res.cloudinary.com/about-gitlab-com/image/upload/v1777322348/qpq8yrgn8knii57omj0c.png')","#000","GitLabの最新情報","最新の機能と改善点に関する情報をお届けします。",{"text":366,"config":367},"最新情報を読む",{"href":368,"dataGaName":369,"dataGaLocation":103},"/ja-jp/whats-new/","whats new",{"text":371,"config":372,"menu":374},"企業情報",{"dataNavLevelOne":373},"company",{"type":154,"columns":375},[376],{"items":377},[378,383,389,391,396,401,406,411,416,421],{"text":379,"config":380},"GitLabについて",{"href":381,"dataGaName":382,"dataGaLocation":103},"/ja-jp/company/","about",{"text":384,"config":385,"footerGa":388},"採用情報",{"href":386,"dataGaName":387,"dataGaLocation":103},"/jobs/","jobs",{"dataGaName":387},{"text":350,"config":390},{"href":352,"dataGaName":353,"dataGaLocation":103},{"text":392,"config":393},"経営陣",{"href":394,"dataGaName":395,"dataGaLocation":103},"/company/team/e-group/","leadership",{"text":397,"config":398},"ハンドブック",{"href":399,"dataGaName":400,"dataGaLocation":103},"https://handbook.gitlab.com/","handbook",{"text":402,"config":403},"投資家向け情報",{"href":404,"dataGaName":405,"dataGaLocation":103},"https://ir.gitlab.com/overview/default.aspx","investor relations",{"text":407,"config":408},"トラストセンター",{"href":409,"dataGaName":410,"dataGaLocation":103},"/ja-jp/security/","trust center",{"text":412,"config":413},"AI Transparency Center",{"href":414,"dataGaName":415,"dataGaLocation":103},"/ja-jp/ai-transparency-center/","ai transparency center",{"text":417,"config":418},"ニュースレター",{"href":419,"dataGaName":420,"dataGaLocation":103},"/company/contact/#contact-forms","newsletter",{"text":422,"config":423},"プレス",{"href":424,"dataGaName":425,"dataGaLocation":103},"/press/","press",{"text":427,"config":428,"menu":429},"お問い合わせ",{"dataNavLevelOne":373},{"type":154,"columns":430},[431],{"items":432},[433,438,443],{"text":434,"config":435},"お問い合わせはこちら",{"href":436,"dataGaName":437,"dataGaLocation":103},"/ja-jp/sales/","talk to sales",{"text":439,"config":440},"サポートを受ける",{"href":441,"dataGaName":442,"dataGaLocation":103},"https://support.gitlab.com/hc/en-us","support portal",{"text":444,"config":445},"カスタマーポータル",{"href":446,"dataGaName":447,"dataGaLocation":103},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":449,"login":450,"suggestions":457},"閉じる",{"text":451,"link":452},"リポジトリとプロジェクトを検索するには、次にログインします",{"text":453,"config":454},"GitLab.com",{"href":117,"dataGaName":455,"dataGaLocation":456},"search login","search",{"text":458,"default":459},"提案",[460,462,467,469,473,477],{"text":134,"config":461},{"href":139,"dataGaName":134,"dataGaLocation":456},{"text":463,"config":464},"コード提案（AI）",{"href":465,"dataGaName":466,"dataGaLocation":456},"/ja-jp/solutions/code-suggestions/","Code Suggestions (AI)",{"text":170,"config":468},{"href":172,"dataGaName":170,"dataGaLocation":456},{"text":470,"config":471},"GitLab on AWS",{"href":472,"dataGaName":470,"dataGaLocation":456},"/ja-jp/partners/technology-partners/aws/",{"text":474,"config":475},"GitLab on Google Cloud",{"href":476,"dataGaName":474,"dataGaLocation":456},"/ja-jp/partners/technology-partners/google-cloud-platform/",{"text":478,"config":479},"GitLabを選ぶ理由",{"href":147,"dataGaName":480,"dataGaLocation":456},"Why GitLab?",{"freeTrial":482,"mobileIcon":486,"desktopIcon":491,"secondaryButton":494},{"text":105,"config":483},{"href":484,"dataGaName":108,"dataGaLocation":485},"https://gitlab.com/-/trials/new/","nav",{"altText":487,"config":488},"GitLabアイコン",{"src":489,"dataGaName":490,"dataGaLocation":485},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":487,"config":492},{"src":493,"dataGaName":490,"dataGaLocation":485},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":267,"config":495},{"href":496,"dataGaName":497,"dataGaLocation":485},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/ja-jp/get-started/","get started",{"freeTrial":499,"mobileIcon":503,"desktopIcon":505},{"text":500,"config":501},"GitLab Duoの詳細について",{"href":139,"dataGaName":502,"dataGaLocation":485},"gitlab duo",{"altText":487,"config":504},{"src":489,"dataGaName":490,"dataGaLocation":485},{"altText":487,"config":506},{"src":493,"dataGaName":490,"dataGaLocation":485},{"button":508,"mobileIcon":513,"desktopIcon":515},{"text":509,"config":510},"/switch",{"href":511,"dataGaName":512,"dataGaLocation":485},"#contact","switch",{"altText":487,"config":514},{"src":489,"dataGaName":490,"dataGaLocation":485},{"altText":487,"config":516},{"src":517,"dataGaName":490,"dataGaLocation":485},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":519,"mobileIcon":524,"desktopIcon":526},{"text":520,"config":521},"料金ページに戻る",{"href":254,"dataGaName":522,"dataGaLocation":485,"icon":523},"back to pricing","GoBack",{"altText":487,"config":525},{"src":489,"dataGaName":490,"dataGaLocation":485},{"altText":487,"config":527},{"src":493,"dataGaName":490,"dataGaLocation":485},{"title":529,"button":530,"config":534},"GitLab Orbitが登場: AIエージェントのためのコンテキストレイヤー",{"text":145,"config":531},{"href":532,"dataGaName":533,"dataGaLocation":103},"/ja-jp/gitlab-orbit/","orbit",{"layout":535,"disabled":29},"release",{"data":537},{"text":538,"source":539,"edit":545,"contribute":550,"config":555,"items":560,"minimal":767},"GitはSoftware Freedom Conservancyの商標です。当社は「GitLab」をライセンスに基づいて使用しています",{"text":540,"config":541},"ページのソースを表示",{"href":542,"dataGaName":543,"dataGaLocation":544},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":546,"config":547},"このページを編集",{"href":548,"dataGaName":549,"dataGaLocation":544},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":551,"config":552},"ご協力をお願いします",{"href":553,"dataGaName":554,"dataGaLocation":544},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":556,"facebook":557,"youtube":558,"linkedin":559},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[561,606,657,700,734],{"title":252,"links":562,"subMenu":577},[563,567,572],{"text":564,"config":565},"プランの表示",{"href":254,"dataGaName":566,"dataGaLocation":544},"view plans",{"text":568,"config":569},"Premiumを選ぶ理由",{"href":570,"dataGaName":571,"dataGaLocation":544},"/ja-jp/pricing/premium/","why premium",{"text":573,"config":574},"Ultimateを選ぶ理由",{"href":575,"dataGaName":576,"dataGaLocation":544},"/ja-jp/pricing/ultimate/","why ultimate",[578],{"title":427,"links":579},[580,582,584,586,591,596,601],{"text":427,"config":581},{"href":436,"dataGaName":113,"dataGaLocation":544},{"text":439,"config":583},{"href":441,"dataGaName":442,"dataGaLocation":544},{"text":444,"config":585},{"href":446,"dataGaName":447,"dataGaLocation":544},{"text":587,"config":588},"ステータス",{"href":589,"dataGaName":590,"dataGaLocation":544},"https://status.gitlab.com/","status",{"text":592,"config":593},"利用規約",{"href":594,"dataGaName":595,"dataGaLocation":544},"/terms/","terms of use",{"text":597,"config":598},"プライバシーに関する声明",{"href":599,"dataGaName":600,"dataGaLocation":544},"/ja-jp/privacy/","privacy statement",{"text":602,"config":603},"Cookie 優先設定",{"dataGaName":604,"dataGaLocation":544,"id":605,"isOneTrustButton":91},"cookie preferences","ot-sdk-btn",{"title":150,"links":607,"subMenu":616},[608,612],{"text":609,"config":610},"DevSecOpsプラットフォーム",{"href":132,"dataGaName":611,"dataGaLocation":544},"devsecops platform",{"text":613,"config":614},"AI支援開発",{"href":139,"dataGaName":615,"dataGaLocation":544},"ai-assisted development",[617],{"title":618,"links":619},"トピック",[620,624,627,632,637,642,647,652],{"text":170,"config":621},{"href":622,"dataGaName":623,"dataGaLocation":544},"/ja-jp/topics/ci-cd/","cicd",{"text":17,"config":625},{"href":19,"dataGaName":626,"dataGaLocation":544},"gitops",{"text":628,"config":629},"DevOps",{"href":630,"dataGaName":631,"dataGaLocation":544},"/ja-jp/topics/devops/","devops",{"text":633,"config":634},"バージョン管理",{"href":635,"dataGaName":636,"dataGaLocation":544},"/ja-jp/topics/version-control/","version control",{"text":638,"config":639},"DevSecOps",{"href":640,"dataGaName":641,"dataGaLocation":544},"/ja-jp/topics/devsecops/","devsecops",{"text":643,"config":644},"クラウドネイティブ",{"href":645,"dataGaName":646,"dataGaLocation":544},"/ja-jp/topics/cloud-native/","cloud native",{"text":648,"config":649},"コーディングのためのAI",{"href":650,"dataGaName":651,"dataGaLocation":544},"/ja-jp/topics/devops/ai-for-coding/","ai for coding",{"text":653,"config":654},"エージェント型AI",{"href":655,"dataGaName":656,"dataGaLocation":544},"/ja-jp/topics/agentic-ai/","agentic ai",{"title":658,"links":659},"ソリューション",[660,663,665,670,674,677,680,683,685,687,690,695],{"text":195,"config":661},{"href":190,"dataGaName":662,"dataGaLocation":544},"Application Security Testing",{"text":182,"config":664},{"href":166,"dataGaName":167,"dataGaLocation":544},{"text":666,"config":667},"アジャイル開発",{"href":668,"dataGaName":669,"dataGaLocation":544},"/ja-jp/solutions/agile-delivery/","agile delivery",{"text":671,"config":672},"SCM",{"href":179,"dataGaName":673,"dataGaLocation":544},"source code management",{"text":170,"config":675},{"href":172,"dataGaName":676,"dataGaLocation":544},"continuous integration & delivery",{"text":221,"config":678},{"href":223,"dataGaName":679,"dataGaLocation":544},"value stream management",{"text":17,"config":681},{"href":682,"dataGaName":626,"dataGaLocation":544},"/ja-jp/solutions/gitops/",{"text":234,"config":684},{"href":237,"dataGaName":238,"dataGaLocation":544},{"text":240,"config":686},{"href":243,"dataGaName":244,"dataGaLocation":544},{"text":688,"config":689},"公共機関",{"href":249,"dataGaName":250,"dataGaLocation":544},{"text":691,"config":692},"教育",{"href":693,"dataGaName":694,"dataGaLocation":544},"/ja-jp/solutions/education/","education",{"text":696,"config":697},"金融サービス",{"href":698,"dataGaName":699,"dataGaLocation":544},"/ja-jp/solutions/finance/","financial services",{"title":701,"links":702},"リソース",[703,705,707,709,713,715,718,720,722,724,726,728,730,732],{"text":270,"config":704},{"href":272,"dataGaName":273,"dataGaLocation":544},{"text":275,"config":706},{"href":277,"dataGaName":278,"dataGaLocation":544},{"text":280,"config":708},{"href":282,"dataGaName":283,"dataGaLocation":544},{"text":285,"config":710},{"href":711,"dataGaName":712,"dataGaLocation":544},"https://docs.gitlab.com/ja-jp","docs",{"text":308,"config":714},{"href":310,"dataGaName":311,"dataGaLocation":544},{"text":716,"config":717},"最新リリース",{"href":368,"dataGaName":369,"dataGaLocation":544},{"text":303,"config":719},{"href":305,"dataGaName":306,"dataGaLocation":544},{"text":322,"config":721},{"href":324,"dataGaName":325,"dataGaLocation":544},{"text":330,"config":723},{"href":332,"dataGaName":333,"dataGaLocation":544},{"text":335,"config":725},{"href":337,"dataGaName":338,"dataGaLocation":544},{"text":340,"config":727},{"href":342,"dataGaName":343,"dataGaLocation":544},{"text":345,"config":729},{"href":347,"dataGaName":348,"dataGaLocation":544},{"text":350,"config":731},{"href":352,"dataGaName":353,"dataGaLocation":544},{"text":355,"config":733},{"href":357,"dataGaName":358,"dataGaLocation":544},{"title":735,"links":736},"会社情報",[737,739,741,743,745,747,751,756,758,760,762],{"text":379,"config":738},{"href":381,"dataGaName":373,"dataGaLocation":544},{"text":384,"config":740},{"href":386,"dataGaName":387,"dataGaLocation":544},{"text":392,"config":742},{"href":394,"dataGaName":395,"dataGaLocation":544},{"text":397,"config":744},{"href":399,"dataGaName":400,"dataGaLocation":544},{"text":402,"config":746},{"href":404,"dataGaName":405,"dataGaLocation":544},{"text":748,"config":749},"Sustainability",{"href":750,"dataGaName":748,"dataGaLocation":544},"/sustainability/",{"text":752,"config":753},"ダイバーシティ、インクルージョン、ビロンギング（DIB）",{"href":754,"dataGaName":755,"dataGaLocation":544},"/ja-jp/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":407,"config":757},{"href":409,"dataGaName":410,"dataGaLocation":544},{"text":417,"config":759},{"href":419,"dataGaName":420,"dataGaLocation":544},{"text":422,"config":761},{"href":424,"dataGaName":425,"dataGaLocation":544},{"text":763,"config":764},"現代奴隷制の透明性に関する声明",{"href":765,"dataGaName":766,"dataGaLocation":544},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":768},[769,771,774],{"text":592,"config":770},{"href":594,"dataGaName":595,"dataGaLocation":544},{"text":772,"config":773},"Cookieの設定",{"dataGaName":604,"dataGaLocation":544,"id":605,"isOneTrustButton":91},{"text":597,"config":775},{"href":599,"dataGaName":600,"dataGaLocation":544},{"header":777,"blurb":778,"button":779,"secondaryButton":783},"今すぐ開発をスピードアップ","DevSecOpsに特化したインテリジェントオーケストレーションプラットフォームで実現できることをご確認ください。\n",{"text":105,"config":780},{"href":781,"dataGaName":108,"dataGaLocation":782},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/ja-jp/","feature",{"text":427,"config":784},{"href":436,"dataGaName":113,"dataGaLocation":782},1786803793254]