[{"data":1,"prerenderedAt":1262},["ShallowReactive",2],{"/ja-jp/blog/using-ansible-and-gitlab-as-infrastructure-for-code":3,"navigation-ja-jp":473,"banner-ja-jp":901,"footer-ja-jp":909,"blog-post-authors-ja-jp-Brad Downey|Sara Kassabian":1150,"blog-related-posts-ja-jp-using-ansible-and-gitlab-as-infrastructure-for-code":1176,"blog-promotions-ja-jp":1199,"next-steps-ja-jp":1253},{"id":4,"title":5,"authors":6,"body":9,"category":452,"date":453,"description":454,"extension":455,"externalUrl":456,"faq":456,"featured":457,"heroImage":458,"meta":459,"navigation":460,"path":461,"seo":462,"slug":466,"stem":467,"tags":468,"template":470,"updatedDate":471,"__hash__":472},"blogPosts/ja-jp/blog/using-ansible-and-gitlab-as-infrastructure-for-code.md","GitLabとAnsibleを使ってIaCを作成する方法",[7,8],"Brad Downey","Sara Kassabian",{"type":10,"value":11,"toc":433},"minimark",[12,16,32,37,40,44,64,67,83,86,90,117,125,128,137,144,147,159,162,171,187,197,213,216,219,226,229,232,235,242,245,252,255,262,265,268,277,284,287,291,302,306,309,322,328,340,343,350,357,360,363,376,380,385,388,396,400,403,407,414,418,421],[13,14,15],"p",{},"IaCとして管理されるAnsible playbookを実行する際に力を発揮する、GitLab CIの機能を探求してみませんか。",[13,17,18,19,25,26,31],{},"GitLab CIは、",[20,21,24],"a",{"href":22,"rel":23},"https://about.gitlab.com/ja-jp/topics/gitops/infrastructure-as-code/",[],"IaC","や",[20,27,30],{"href":28,"rel":29},"https://about.gitlab.com/ja-jp/solutions/gitops/",[],"GitOps","など、さまざまな用途に使用できる強力なツールです。GitLabはツールに依存しないプラットフォームですが、AnsibleはIaCを管理するために、開発者によく使用される言語なので、今回はAnsibleを使用していきます。",[33,34,36],"h2",{"id":35},"ansibleとは","Ansibleとは",[13,38,39],{},"Ansibleはオープンソースであり、デプロイ、構成、そしてコンピュータシステムの管理を自動的に行なう際に使用し、構成管理ツールに分類されます。開発者やシステム管理者がAnsibleを使用すると、サーバーの構成やアプリケーションのデプロイ、またネットワークデバイスの管理といった、複雑な、繰り返しの多いプロセスを自動化できます。AnsibleはYAMLを使って、playbookとして知られている宣言型のタスク説明を作成します。作成された宣言型のタスク説明は、コマンドを実行するターゲットホストへのSSH接続を通じてAnsibleが行なう、望まれるシステム状態を説明してくれます。",[33,41,43],{"id":42},"デモgitlab-ci-と-ansible","デモ：GitLab CI と Ansible",[13,45,46,51,52,57,58,63],{},[20,47,50],{"href":48,"rel":49},"https://about.gitlab.com/ja-jp/solutions/continuous-integration/",[],"GitLab CI","の特に優れている機能のひとつは、ローカルの端末等に依存ライブラリをインストールしなくても ",[20,53,56],{"href":54,"rel":55},"https://docs.ansible.com/ansible/latest/cli/ansible-playbook.html",[],"Ansible playbook","（外部サイト）のコードを編集しデプロイできることです。デモでご紹介するプロジェクトは、セキュリティポリシーに従って毎月すべてのデバイスのSNMP文字列を更新する必要がありますが、これはGitLabがホストする ",[20,59,62],{"href":60,"rel":61},"https://about.gitlab.com/ja-jp/pricing/",[],"GitLab.com","で簡単に行なうことができます。",[13,65,66],{},"まずはじめに、Ansible playbookを開いてください。ここには次の4つのタスクがあります。",[68,69,70,74,77,80],"ul",{},[71,72,73],"li",{},"ルーターの情報を収集",[71,75,76],{},"バージョンを表示",[71,78,79],{},"シリアル番号を表示",[71,81,82],{},"SNMPを構成",[13,84,85],{},"このデモでは、SNMPの文字列の構成方法に焦点を当てています。構成は簡単な一連のステップに従うことで完了できます。",[33,87,89],{"id":88},"はじめにイシューボード","はじめに：イシューボード",[13,91,92,93,98,99,104,105,110,111,116],{},"GitLabではプロジェクトに関する計画はすべて同じやり方、",[20,94,97],{"href":95,"rel":96},"https://handbook.gitlab.com/handbook/marketing/brand-and-product-marketing/product-and-solution-marketing/getting-started/101/#issue",[],"イシューの起票","から始まります。そのためGitLabのワークフローの最初のステップでは、",[20,100,103],{"href":101,"rel":102},"https://gitlab.com/bdowney/ansible-demo",[],"ansible-demoプロジェクト","内のイシューボードを確認します。",[20,106,109],{"href":107,"rel":108},"https://gitlab.com/bdowney/ansible-demo/-/boards",[],"ansible-demoイシューボード","を見ると、すでに ",[20,112,115],{"href":113,"rel":114},"https://gitlab.com/bdowney/ansible-demo/issues/4",[],"すべてのルーターのSNMP文字列の変更","に関連するイシューがあることがわかります。イシューの中に、SNMP文字列を毎月ローテーションさせ、読み取り専用と読み書き両方の場合には、異なる文字列を使用する必要があることを記述したGitLabセキュリティポリシーのWikiへのリンクがあります。",[13,118,119,124],{},[120,121],"img",{"alt":122,"src":123},"Security policies","https://res.cloudinary.com/about-gitlab-com/image/upload/v1782400793/blog/Content%20Images/ansible_screenshots/security_policies_1A.png","{: .shadow.medium.center}\nSNMP 文字列用の GitLab セキュリティポリシー",[13,126,127],{},"GitLabのセキュリティポリシーによると、SNMP文字列を毎月更新する必要があります。",[13,129,130,131,136],{},"次に、",[20,132,135],{"href":133,"rel":134},"https://gitlab.com/bdowney/ansible-demo/blob/master/ci-cd-demo/ci.yml",[],"2つのルーターのデモ","でSNMP文字列を設定するコマンドが、イシューで概説されているGitLabのセキュリティポリシーに従っていることを確認します。",[13,138,139,143],{},[120,140],{"alt":141,"src":142},"Ansible SNMP change","https://res.cloudinary.com/about-gitlab-com/image/upload/v1782400796/blog/Content%20Images/ansible_screenshots/ansible_snmp_change_2.png","{: .shadow.medium.center}\nSNMP 文字列設定のためのコマンド",[13,145,146],{},"SNMP文字列を設定するコマンドは、Ansible playbookに記載されています。",[13,148,149,150,154,155,158],{},"次に、イシューに戻り、イシューをご自身にアサインしてください。右サイドバーのラベルを",[151,152,153],"code",{},"to-do","から",[151,156,157],{},"doing","に切り替えるか、または、イシューボードの列をドラッグして移動することもできます。",[33,160,161],{"id":161},"マージリクエストを作成する",[13,163,164,165,170],{},"次のステップでは、イシューからマージリクエスト (MR) を作成します。「Draft」のフラグがMRに付いていることを再度確認してください。これにより、準備ができていないうちにmasterブランチにマージされてしまうことが防止されます。ここでは、SNMP文字列への変更点が少ないので、ローカルの IDEでソースコードを編集するのではなく、GitLabの ",[20,166,169],{"href":167,"rel":168},"https://docs.gitlab.com/ja-jp/user/project/web_ide/",[],"Web IDE"," を使います。",[68,172,173,181,184],{},[71,174,175,180],{},[20,176,179],{"href":177,"rel":178},"https://about.gitlab.com/topics/ci-cd/",[],"CI/CD","デモセクションを開きます。",[71,182,183],{},"Ansible playbookに移動します。",[71,185,186],{},"SNMPセクションを次のように編集します。",[188,189,195],"pre",{"className":190,"code":192,"language":193,"meta":194},[191],"language-text","-snmp-server community New-SNMP-DEMO1 RO\n\n-snmp-server community Fun-SNMP-RW-STR RW\n","text","",[151,196,192],{"__ignoreMap":194},[68,198,199],{},[71,200,201,206,207,212],{},[20,202,205],{"href":203,"rel":204},"https://gitlab.com/bdowney/ansible-demo/issues/1",[],"イシュー","で説明されている",[20,208,211],{"href":209,"rel":210},"https://gitlab.com/bdowney/ansible-demo/wikis/Security-Policies",[],"GitLab セキュリティポリシー","に従い、ROとRWが異なる文字列として設定されていることに注意してください。",[33,214,215],{"id":215},"変更をコミットする",[13,217,218],{},"SNMP文字列がガイドラインに沿って更新されましたので、変更をコミットします。最新のコミットでMRが更新されたことを確認するために、side-by-side比較機能を利用してください。",[13,220,221,225],{},[120,222],{"alt":223,"src":224},"Commit changes","https://res.cloudinary.com/about-gitlab-com/image/upload/v1782400799/blog/Content%20Images/ansible_screenshots/side-by-side_3.png","{: .shadow.medium.center}\nGitLab Ansible 内でのマージリクエストのサイド・バイ・サイド比較",[13,227,228],{},"並べて比較できるツールにより、変更内容が一目でわかります。",[33,230,231],{"id":231},"マージリクエストの出力",[13,233,234],{},"変更内容をコミットすると、GitLab CIパイプラインが自動的に起動されます。ここでは、次のようなタスクが実行されます。\n構文のチェック\nドライラン\nラボ/シミュレーション環境での変更点のテスト\nGitLab CIパイプラインの各ジョブの進捗状況と出力を表示して、SNMPの更新を実行します。",[13,236,237,241],{},[120,238],{"alt":239,"src":240},"Job running","https://res.cloudinary.com/about-gitlab-com/image/upload/v1782400802/blog/Content%20Images/ansible_screenshots/job_running_4.png","{: .shadow.medium.center}\nGitLabジョブの出力",[13,243,244],{},"ジョブからの出力を確認して、シミュレーション環境でSNMPの更新が確実に行なわれたことを確認します。\nこのすべてのタスクは、マージリクエスト (MR) 内で実行され、記録されます。",[13,246,247,251],{},[120,248],{"alt":249,"src":250},"Pipeline","https://res.cloudinary.com/about-gitlab-com/image/upload/v1782400806/blog/Content%20Images/ansible_screenshots/pipeline_5A.png","{: .shadow.medium.center}\nGitLab CIパイプライン内のチェックマーク",[13,253,254],{},"緑色のチェックマークは、GitLab CIパイプラインで各タスクが正常に完了したことを示しています。\n次に、ラボのルーターにログインして、変更内容を確認します。",[13,256,257,261],{},[120,258],{"alt":259,"src":260},"routers snmp","https://res.cloudinary.com/about-gitlab-com/image/upload/v1782400809/blog/Content%20Images/ansible_screenshots/routersnmp_6.png","{: .shadow.medium.center}\nルーターのSNMP",[13,263,264],{},"読み取り専用（RO）および読み書き（RW）のSNMP文字列の変更点がルーターに反映されています。",[33,266,267],{"id":267},"マージリクエストのレビュー",[13,269,270,271,276],{},"オプションとして、",[20,272,275],{"href":273,"rel":274},"https://docs.gitlab.com/ja-jp/user/project/merge_requests/approvals/",[],"マージリクエスト（MR）の承認","をアクティブ化することもできます。これにより、変更が本番環境に送られる前に、より多くのユーザーが変更点をレビューできるようになります。",[13,278,279,283],{},[120,280],{"alt":281,"src":282},"approvers","https://res.cloudinary.com/about-gitlab-com/image/upload/v1782400813/blog/Content%20Images/ansible_screenshots/approvers_7.png","{: .shadow.medium.center}\nGitLabでのSNMP文字列の更新",[13,285,286],{},"マージリクエスト（MR）は、masterブランチへのマージを行なう前に、別のユーザーに作業内容をレビューしてもらうように設定することができます。",[33,288,290],{"id":289},"masterブランチへのマージ","Masterブランチへのマージ",[13,292,293,294,297,298,301],{},"テストが完了したら、変更点をmasterブランチにマージします。masterブランチには、本番環境コードが格納されています。\n準備ができたら、",[151,295,296],{},"Mark","ボタンをクリックし、次に",[151,299,300],{},"Merge","をクリックします。\n「Draft」のステータスを解決すると、MRがマージされ、イシューがクローズされます。\nすると、新しいパイプラインが実行され、追加のステップとして playbookを本番環境で実行する、すべてのテストが実行されます。\n「パイプライン」の画面では、その進捗とログが確認できます。このプロセスが完了したら、本番用ルーターにログインし、SNMPセキュリティ文字列が更新されたことを確認します。",[33,303,305],{"id":304},"gitlab-ciの魔法","GitLab CIの魔法",[13,307,308],{},"これまで説明してきたさまざまな機能を可能にした魔法は GitLab CIです。GitLab CIパイプラインとは、Ansibleコードをテストしてデプロイするために必要なあらゆることを実行する、一連の連続したタスクを意味します。",[13,310,311,312,317,318,321],{},"GitLab CIは、リポジトリ内に存在する単一のシンプルな ",[20,313,316],{"href":314,"rel":315},"https://about.gitlab.com/blog/three-yaml-tips-better-pipelines/",[],"YAML ファイル","である",[151,319,320],{},".gitlab-ci.yml","で構成されています。",[13,323,324,325,327],{},"このデモでは",[151,326,320],{},"ファイルが3つのステージで構成されていることがご確認いただけます。",[329,330,331,334,337],"ol",{},[71,332,333],{},"Deploy：Ansibleを使用する AWSに 、２つのルーターのシミュレーションネットワークが作成されます。",[71,335,336],{},"Demo：SNMP文字列を変更するplaybook が実行されます。",[71,338,339],{},"Destory：２つのルーターのシミュレーションネットワークが破棄されます。",[13,341,342],{},"GitLab CIは、ベースイメージで始まります。この場合、必要なすべての Ansibleバイナリと依存ライブラリを含むDockerイメージを使用しています。必要に応じて、それぞれのステージで実行するコマンドと、依存関係を指定します。",[13,344,345,349],{},[120,346],{"alt":347,"src":348},"More code","https://res.cloudinary.com/about-gitlab-com/image/upload/v1782400820/blog/Content%20Images/ansible_screenshots/more_code_9A.png","{: .shadow.medium.center}\n単純なYAMLファイルには、GitLab CIの3つのフェーズが含まれます。",[13,351,352,356],{},[120,353],{"alt":354,"src":355},"More Code","https://res.cloudinary.com/about-gitlab-com/image/upload/v1782400824/blog/Content%20Images/ansible_screenshots/more_code_10A.png","{: .shadow.medium.center}\nGitLab CIのデモレベル",[13,358,359],{},"GitLab CIのデモステージを覗いてみましょう。これはAnsible playbookを実行しているものです。",[13,361,362],{},"今度はパイプラインを見てみましょう。GitLab CIを使用すれば、コンピュータにAnsibleの依存関係をインストールすることなく構成管理を実装できることがわかります。これは、IaCを実行するために GitLab CIを使用する方法の一例に過ぎません。以下のリンクは、完全版チュートリアルの動画ですので、ぜひご覧ください。",[364,365,368,369],"figure",{"className":366},[367],"video_container","\n  ",[370,371,375],"iframe",{"src":372,"frameBorder":373,"allowFullScreen":374},"https://www.youtube.com/embed/M-SgRTKSeOg","0","true"," ",[33,377,379],{"id":378},"faq-よくある質問","FAQ - よくある質問",[381,382,384],"h3",{"id":383},"q-ansibleとは","Q: Ansibleとは",[13,386,387],{},"A: Ansibleとは、ITプロセスの自動化と構成管理を可能にするオープンソースのツールです。アプリケーションのデプロイ、構成管理、オーケストレーション、プロビジョニングなど、コンピュータシステムの管理を自動的に行なう際に使用します。",[13,389,390,391,395],{},"Ansibleを使用すると、サーバーの構成やアプリケーションのデプロイ、またネットワークデバイスの管理といった、複雑な、繰り返しの多いワークフローのオーケストレーションが可能になります。AnsibleはYAMLを使って、playbookとして知られている宣言型のタスク説明を作成します。作成された宣言型のタスク説明は、コマンドを実行するターゲットホストへのSSH接続を通じてAnsibleが行なう、望まれるシステム状態を説明してくれます。詳しくは",[20,392,394],{"href":393},"#heading=h.llxgny6efk4z","こちら","をご覧ください。",[381,397,399],{"id":398},"q-ansible-playbookとは","Q: Ansible Playbookとは",[13,401,402],{},"A: Ansible Playbookはyamlで書かれたタスクのリストファイルのことで、指定したインベントリーやホストのグループに対して自動的に実行されます。ネットワークインフラ、WindowsサーバーなどITインフラに適用するタスクやコンフィグレーションをこのファイルで定義します。Ansibleタスクは、1つまたは複数タスクがplayとしてグループ化され、それぞれのplayが特定のホストやホストグループに対して実行されます。クラウド管理、ユーザー管理、ネットワーク、セキュリティ、構成管理などがAnsible Playbookで管理できます。",[381,404,406],{"id":405},"q-gitlab-ciとは","Q: GitLab CIとは",[13,408,409,410,395],{},"A: GitLab CI（継続的インテグレーション、Continuous Integration）とは、GitLab上でコードの変更が行われた際に自動的にテストやビルドを実行するツールで、サードパーティのツールやライブラリを導入しなくても利用できます。GitLab CIは、すべてのコード変更を共有ソースコードリポジトリのmainブランチに早い段階で頻繁に統合し、コミットやマージ時に各変更を自動的にテストし、自動的にビルドを開始するプラクティスのことです。継続的インテグレーションを行うことで、エラーやセキュリティの問題をより簡単に、開発プロセスのかなり早い段階で特定し、修正することが可能になります。詳しくは",[20,411,394],{"href":412,"rel":413},"https://about.gitlab.com/ja-jp/topics/ci-cd/#what-is-continuous-integration-ci",[],[381,415,417],{"id":416},"q-gitlab-ciとansibleを使用するメリットは何ですか","Q: GitLab CIとAnsibleを使用するメリットは何ですか",[13,419,420],{},"A: GitLab CIなら、ローカルの端末等に依存ライブラリをインストールしなくてもAnsible playbookのコードを編集しデプロイできます。また、GitLab CIパイプラインは、Ansibleコードをテストしてデプロイするために必要なあらゆることを実行する、一連の連続したタスクです。つまり、GitLabでは、リポジトリの管理とCIおよびAnsible Towerのワークフロー実行が行なえます。加えられた変更の内容、たとえば、いつ、誰がどのファイルに対して変更を行なったのかも自動で記録されるうえ、マージリクエスト(MR)を使えば、理由や目的などのメモも残せるなど、いろいろなメリットがあります。",[13,422,423],{},[424,425,426,427,432],"em",{},"*監修：伊藤 俊廷 ",[20,428,431],{"href":429,"rel":430},"https://gitlab.com/toshitakaito",[],"@toshitakaito","\n（GitLab合同会社 ソリューションアーキテクト本部 スタッフソリューションアーキテクト）",{"title":194,"searchDepth":434,"depth":434,"links":435},2,[436,437,438,439,440,441,442,443,444,445],{"id":35,"depth":434,"text":36},{"id":42,"depth":434,"text":43},{"id":88,"depth":434,"text":89},{"id":161,"depth":434,"text":161},{"id":215,"depth":434,"text":215},{"id":231,"depth":434,"text":231},{"id":267,"depth":434,"text":267},{"id":289,"depth":434,"text":290},{"id":304,"depth":434,"text":305},{"id":378,"depth":434,"text":379,"children":446},[447,449,450,451],{"id":383,"depth":448,"text":384},3,{"id":398,"depth":448,"text":399},{"id":405,"depth":448,"text":406},{"id":416,"depth":448,"text":417},"engineering","2019-07-01","Ansible playbookを使ってIaCを作成します。GitLab CIが持つ力を探求してみてください。","md",null,false,"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749665322/Blog/Hero%20Images/gitlab-ansible-cover.png",{},true,"/ja-jp/blog/using-ansible-and-gitlab-as-infrastructure-for-code",{"title":5,"description":454,"ogTitle":5,"ogDescription":454,"noIndex":457,"ogImage":458,"ogUrl":463,"ogSiteName":464,"ogType":465,"canonicalUrls":463},"https://about.gitlab.com/blog/using-ansible-and-gitlab-as-infrastructure-for-code","https://about.gitlab.com","article","using-ansible-and-gitlab-as-infrastructure-for-code","ja-jp/blog/using-ansible-and-gitlab-as-infrastructure-for-code",[469,179],"demo","BlogPost","2024-10-21","kngeRWV3OTWs0Hku29ueVyxz1UnMSatqr_y9oKk1VOY",{"logo":474,"freeTrial":479,"sales":484,"login":489,"items":494,"search":822,"minimal":854,"duo":871,"switchNav":880,"pricingDeployment":891},{"config":475},{"href":476,"dataGaName":477,"dataGaLocation":478},"/ja-jp/","gitlab logo","header",{"text":480,"config":481},"無料トライアルを開始",{"href":482,"dataGaName":483,"dataGaLocation":478},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/ja-jp&glm_content=default-saas-trial/","free trial",{"text":485,"config":486},"デモをリクエスト",{"href":487,"dataGaName":488,"dataGaLocation":478},"/ja-jp/sales/?contact-topic=request-demo","sales",{"text":490,"config":491},"サインイン",{"href":492,"dataGaName":493,"dataGaLocation":478},"https://gitlab.com/users/sign_in/","sign in",[495,524,625,630,744,800],{"text":496,"config":497,"menu":499},"プラットフォーム",{"dataNavLevelOne":498},"platform",{"type":500,"columns":501},"cards",[502,508,516],{"title":496,"description":503,"link":504},"DevSecOpsに特化したインテリジェントオーケストレーションプラットフォーム",{"text":505,"config":506},"プラットフォームの詳細はこちら",{"href":507,"dataGaName":498,"dataGaLocation":478},"/ja-jp/platform/",{"title":509,"description":510,"link":511},"GitLab Duo Agent Platform","ソフトウェアライフサイクル全体を支えるエージェント型AI",{"text":512,"config":513},"GitLab Duoのご紹介",{"href":514,"dataGaName":515,"dataGaLocation":478},"/ja-jp/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":517,"description":518,"link":519},"GitLabが選ばれる理由","エンタープライズがGitLabを選ぶ主な理由をご覧ください",{"text":520,"config":521},"詳細はこちら",{"href":522,"dataGaName":523,"dataGaLocation":478},"/ja-jp/why-gitlab/","why gitlab",{"text":525,"left":460,"config":526,"menu":528},"製品",{"dataNavLevelOne":527},"solutions",{"type":529,"link":530,"columns":534,"feature":604},"lists",{"text":531,"config":532},"すべてのソリューションを表示",{"href":533,"dataGaName":527,"dataGaLocation":478},"/ja-jp/solutions/",[535,559,582],{"title":536,"description":537,"link":538,"items":543},"自動化","CI/CDと自動化でデプロイを加速",{"config":539},{"icon":540,"href":541,"dataGaName":542,"dataGaLocation":478},"AutomatedCodeAlt","/ja-jp/solutions/delivery-automation/","automated software delivery",[544,547,550,555],{"text":179,"config":545},{"href":546,"dataGaLocation":478,"dataGaName":179},"/ja-jp/solutions/continuous-integration/",{"text":509,"config":548},{"href":514,"dataGaLocation":478,"dataGaName":549},"gitlab duo agent platform - product menu",{"text":551,"config":552},"ソースコード管理",{"href":553,"dataGaLocation":478,"dataGaName":554},"/ja-jp/solutions/source-code-management/","Source Code Management",{"text":556,"config":557},"自動化されたソフトウェアデリバリー",{"href":541,"dataGaLocation":478,"dataGaName":558},"Automated software delivery",{"title":560,"description":561,"link":562,"items":567},"セキュリティ","セキュリティを犠牲にすることなくコード作成を高速化",{"config":563},{"href":564,"dataGaName":565,"dataGaLocation":478,"icon":566},"/ja-jp/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[568,572,577],{"text":569,"config":570},"アプリケーションセキュリティテスト",{"href":564,"dataGaName":571,"dataGaLocation":478},"Application security testing",{"text":573,"config":574},"ソフトウェアサプライチェーンセキュリティ",{"href":575,"dataGaLocation":478,"dataGaName":576},"/ja-jp/solutions/supply-chain/","Software supply chain security",{"text":578,"config":579},"ソフトウェアコンプライアンス",{"href":580,"dataGaName":581,"dataGaLocation":478},"/ja-jp/solutions/software-compliance/","software compliance",{"title":583,"link":584,"items":589},"測定",{"config":585},{"icon":586,"href":587,"dataGaName":588,"dataGaLocation":478},"DigitalTransformation","/ja-jp/solutions/visibility-measurement/","visibility and measurement",[590,594,599],{"text":591,"config":592},"可視性と測定",{"href":587,"dataGaLocation":478,"dataGaName":593},"Visibility and Measurement",{"text":595,"config":596},"バリューストリーム管理",{"href":597,"dataGaLocation":478,"dataGaName":598},"/ja-jp/solutions/value-stream-management/","Value Stream Management",{"text":600,"config":601},"分析とインサイト",{"href":602,"dataGaLocation":478,"dataGaName":603},"/ja-jp/solutions/analytics-and-insights/","Analytics and insights",{"title":605,"type":529,"items":606},"GitLabが活躍する場所",[607,613,619],{"text":608,"config":609},"大企業",{"icon":610,"href":611,"dataGaLocation":478,"dataGaName":612},"Building","/ja-jp/enterprise/","enterprise",{"text":614,"config":615},"スモールビジネス",{"icon":616,"href":617,"dataGaLocation":478,"dataGaName":618},"Work","/ja-jp/small-business/","small business",{"text":620,"config":621},"公共部門",{"icon":622,"href":623,"dataGaLocation":478,"dataGaName":624},"Organization","/ja-jp/solutions/public-sector/","public sector",{"text":626,"config":627},"価格",{"href":628,"dataGaName":629,"dataGaLocation":478,"dataNavLevelOne":629},"/ja-jp/pricing/","pricing",{"text":631,"config":632,"menu":634},"関連リソース",{"dataNavLevelOne":633},"resources",{"type":529,"link":635,"columns":639,"feature":733},{"text":636,"config":637},"すべてのリソースを表示",{"href":638,"dataGaName":633,"dataGaLocation":478},"/ja-jp/resources/",[640,673,700],{"title":641,"items":642},"はじめに",[643,648,653,658,663,668],{"text":644,"config":645},"インストール",{"href":646,"dataGaName":647,"dataGaLocation":478},"/ja-jp/install/","install",{"text":649,"config":650},"クイックスタートガイド",{"href":651,"dataGaName":652,"dataGaLocation":478},"/ja-jp/get-started/","quick setup checklists",{"text":654,"config":655},"学ぶ",{"href":656,"dataGaLocation":478,"dataGaName":657},"https://university.gitlab.com/","learn",{"text":659,"config":660},"製品ドキュメント",{"href":661,"dataGaName":662,"dataGaLocation":478},"https://docs.gitlab.com/ja-jp/","product documentation",{"text":664,"config":665},"ベストプラクティスビデオ",{"href":666,"dataGaName":667,"dataGaLocation":478},"/ja-jp/getting-started-videos/","best practice videos",{"text":669,"config":670},"インテグレーション",{"href":671,"dataGaName":672,"dataGaLocation":478},"/ja-jp/integrations/","integrations",{"title":674,"items":675},"検索する",[676,681,686,691,695],{"text":677,"config":678},"お客様成功事例",{"href":679,"dataGaName":680,"dataGaLocation":478},"/ja-jp/customers/","customer success stories",{"text":682,"config":683},"ブログ",{"href":684,"dataGaName":685,"dataGaLocation":478},"/ja-jp/blog/","blog",{"text":687,"config":688},"Demo Hub",{"href":689,"dataGaName":690,"dataGaLocation":478},"/ja-jp/demo-hub/","demo hub",{"text":692,"config":693},"The Source",{"href":694,"dataGaName":685,"dataGaLocation":478},"/ja-jp/the-source/",{"text":696,"config":697},"リモート",{"href":698,"dataGaName":699,"dataGaLocation":478},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":701,"items":702},"つなげる",[703,708,713,718,723,728],{"text":704,"config":705},"GitLabサービス",{"href":706,"dataGaName":707,"dataGaLocation":478},"/ja-jp/services/","services",{"text":709,"config":710},"コントリビュート",{"href":711,"dataGaName":712,"dataGaLocation":478},"https://contributors.gitlab.com","contribute",{"text":714,"config":715},"コミュニティ",{"href":716,"dataGaName":717,"dataGaLocation":478},"/community/","community",{"text":719,"config":720},"フォーラム",{"href":721,"dataGaName":722,"dataGaLocation":478},"https://forum.gitlab.com/","forum",{"text":724,"config":725},"イベント",{"href":726,"dataGaName":727,"dataGaLocation":478},"/events/","events",{"text":729,"config":730},"パートナー",{"href":731,"dataGaName":732,"dataGaLocation":478},"/ja-jp/partners/","partners",{"config":734,"title":737,"text":738,"link":739},{"background":735,"textColor":736},"url('https://res.cloudinary.com/about-gitlab-com/image/upload/v1777322348/qpq8yrgn8knii57omj0c.png')","#000","GitLabの最新情報","最新の機能と改善点に関する情報をお届けします。",{"text":740,"config":741},"最新情報を読む",{"href":742,"dataGaName":743,"dataGaLocation":478},"/ja-jp/whats-new/","whats new",{"text":745,"config":746,"menu":748},"企業情報",{"dataNavLevelOne":747},"company",{"type":529,"columns":749},[750],{"items":751},[752,757,763,765,770,775,780,785,790,795],{"text":753,"config":754},"GitLabについて",{"href":755,"dataGaName":756,"dataGaLocation":478},"/ja-jp/company/","about",{"text":758,"config":759,"footerGa":762},"採用情報",{"href":760,"dataGaName":761,"dataGaLocation":478},"/jobs/","jobs",{"dataGaName":761},{"text":724,"config":764},{"href":726,"dataGaName":727,"dataGaLocation":478},{"text":766,"config":767},"経営陣",{"href":768,"dataGaName":769,"dataGaLocation":478},"/company/team/e-group/","leadership",{"text":771,"config":772},"ハンドブック",{"href":773,"dataGaName":774,"dataGaLocation":478},"https://handbook.gitlab.com/","handbook",{"text":776,"config":777},"投資家向け情報",{"href":778,"dataGaName":779,"dataGaLocation":478},"https://ir.gitlab.com/overview/default.aspx","investor relations",{"text":781,"config":782},"トラストセンター",{"href":783,"dataGaName":784,"dataGaLocation":478},"/ja-jp/security/","trust center",{"text":786,"config":787},"AI Transparency Center",{"href":788,"dataGaName":789,"dataGaLocation":478},"/ja-jp/ai-transparency-center/","ai transparency center",{"text":791,"config":792},"ニュースレター",{"href":793,"dataGaName":794,"dataGaLocation":478},"/company/contact/#contact-forms","newsletter",{"text":796,"config":797},"プレス",{"href":798,"dataGaName":799,"dataGaLocation":478},"/press/","press",{"text":801,"config":802,"menu":803},"お問い合わせ",{"dataNavLevelOne":747},{"type":529,"columns":804},[805],{"items":806},[807,812,817],{"text":808,"config":809},"お問い合わせはこちら",{"href":810,"dataGaName":811,"dataGaLocation":478},"/ja-jp/sales/","talk to sales",{"text":813,"config":814},"サポートを受ける",{"href":815,"dataGaName":816,"dataGaLocation":478},"https://support.gitlab.com/hc/en-us","support portal",{"text":818,"config":819},"カスタマーポータル",{"href":820,"dataGaName":821,"dataGaLocation":478},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":823,"login":824,"suggestions":830},"閉じる",{"text":825,"link":826},"リポジトリとプロジェクトを検索するには、次にログインします",{"text":62,"config":827},{"href":492,"dataGaName":828,"dataGaLocation":829},"search login","search",{"text":831,"default":832},"提案",[833,835,840,842,846,850],{"text":509,"config":834},{"href":514,"dataGaName":509,"dataGaLocation":829},{"text":836,"config":837},"コード提案（AI）",{"href":838,"dataGaName":839,"dataGaLocation":829},"/ja-jp/solutions/code-suggestions/","Code Suggestions (AI)",{"text":179,"config":841},{"href":546,"dataGaName":179,"dataGaLocation":829},{"text":843,"config":844},"GitLab on AWS",{"href":845,"dataGaName":843,"dataGaLocation":829},"/ja-jp/partners/technology-partners/aws/",{"text":847,"config":848},"GitLab on Google Cloud",{"href":849,"dataGaName":847,"dataGaLocation":829},"/ja-jp/partners/technology-partners/google-cloud-platform/",{"text":851,"config":852},"GitLabを選ぶ理由",{"href":522,"dataGaName":853,"dataGaLocation":829},"Why GitLab?",{"freeTrial":855,"mobileIcon":859,"desktopIcon":864,"secondaryButton":867},{"text":480,"config":856},{"href":857,"dataGaName":483,"dataGaLocation":858},"https://gitlab.com/-/trials/new/","nav",{"altText":860,"config":861},"GitLabアイコン",{"src":862,"dataGaName":863,"dataGaLocation":858},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":860,"config":865},{"src":866,"dataGaName":863,"dataGaLocation":858},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":641,"config":868},{"href":869,"dataGaName":870,"dataGaLocation":858},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/ja-jp/get-started/","get started",{"freeTrial":872,"mobileIcon":876,"desktopIcon":878},{"text":873,"config":874},"GitLab Duoの詳細について",{"href":514,"dataGaName":875,"dataGaLocation":858},"gitlab duo",{"altText":860,"config":877},{"src":862,"dataGaName":863,"dataGaLocation":858},{"altText":860,"config":879},{"src":866,"dataGaName":863,"dataGaLocation":858},{"button":881,"mobileIcon":886,"desktopIcon":888},{"text":882,"config":883},"/switch",{"href":884,"dataGaName":885,"dataGaLocation":858},"#contact","switch",{"altText":860,"config":887},{"src":862,"dataGaName":863,"dataGaLocation":858},{"altText":860,"config":889},{"src":890,"dataGaName":863,"dataGaLocation":858},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":892,"mobileIcon":897,"desktopIcon":899},{"text":893,"config":894},"料金ページに戻る",{"href":628,"dataGaName":895,"dataGaLocation":858,"icon":896},"back to pricing","GoBack",{"altText":860,"config":898},{"src":862,"dataGaName":863,"dataGaLocation":858},{"altText":860,"config":900},{"src":866,"dataGaName":863,"dataGaLocation":858},{"title":902,"button":903,"config":907},"GitLab Orbitが登場: AIエージェントのためのコンテキストレイヤー",{"text":520,"config":904},{"href":905,"dataGaName":906,"dataGaLocation":478},"/ja-jp/gitlab-orbit/","orbit",{"layout":908,"disabled":457},"release",{"data":910},{"text":911,"source":912,"edit":918,"contribute":923,"config":928,"items":933,"minimal":1141},"GitはSoftware Freedom Conservancyの商標です。当社は「GitLab」をライセンスに基づいて使用しています",{"text":913,"config":914},"ページのソースを表示",{"href":915,"dataGaName":916,"dataGaLocation":917},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":919,"config":920},"このページを編集",{"href":921,"dataGaName":922,"dataGaLocation":917},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":924,"config":925},"ご協力をお願いします",{"href":926,"dataGaName":927,"dataGaLocation":917},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":929,"facebook":930,"youtube":931,"linkedin":932},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[934,979,1031,1074,1108],{"title":626,"links":935,"subMenu":950},[936,940,945],{"text":937,"config":938},"プランの表示",{"href":628,"dataGaName":939,"dataGaLocation":917},"view plans",{"text":941,"config":942},"Premiumを選ぶ理由",{"href":943,"dataGaName":944,"dataGaLocation":917},"/ja-jp/pricing/premium/","why premium",{"text":946,"config":947},"Ultimateを選ぶ理由",{"href":948,"dataGaName":949,"dataGaLocation":917},"/ja-jp/pricing/ultimate/","why ultimate",[951],{"title":801,"links":952},[953,955,957,959,964,969,974],{"text":801,"config":954},{"href":810,"dataGaName":488,"dataGaLocation":917},{"text":813,"config":956},{"href":815,"dataGaName":816,"dataGaLocation":917},{"text":818,"config":958},{"href":820,"dataGaName":821,"dataGaLocation":917},{"text":960,"config":961},"ステータス",{"href":962,"dataGaName":963,"dataGaLocation":917},"https://status.gitlab.com/","status",{"text":965,"config":966},"利用規約",{"href":967,"dataGaName":968,"dataGaLocation":917},"/terms/","terms of use",{"text":970,"config":971},"プライバシーに関する声明",{"href":972,"dataGaName":973,"dataGaLocation":917},"/ja-jp/privacy/","privacy statement",{"text":975,"config":976},"Cookie 優先設定",{"dataGaName":977,"dataGaLocation":917,"id":978,"isOneTrustButton":460},"cookie preferences","ot-sdk-btn",{"title":525,"links":980,"subMenu":989},[981,985],{"text":982,"config":983},"DevSecOpsプラットフォーム",{"href":507,"dataGaName":984,"dataGaLocation":917},"devsecops platform",{"text":986,"config":987},"AI支援開発",{"href":514,"dataGaName":988,"dataGaLocation":917},"ai-assisted development",[990],{"title":991,"links":992},"トピック",[993,997,1001,1006,1011,1016,1021,1026],{"text":179,"config":994},{"href":995,"dataGaName":996,"dataGaLocation":917},"/ja-jp/topics/ci-cd/","cicd",{"text":30,"config":998},{"href":999,"dataGaName":1000,"dataGaLocation":917},"/ja-jp/topics/gitops/","gitops",{"text":1002,"config":1003},"DevOps",{"href":1004,"dataGaName":1005,"dataGaLocation":917},"/ja-jp/topics/devops/","devops",{"text":1007,"config":1008},"バージョン管理",{"href":1009,"dataGaName":1010,"dataGaLocation":917},"/ja-jp/topics/version-control/","version control",{"text":1012,"config":1013},"DevSecOps",{"href":1014,"dataGaName":1015,"dataGaLocation":917},"/ja-jp/topics/devsecops/","devsecops",{"text":1017,"config":1018},"クラウドネイティブ",{"href":1019,"dataGaName":1020,"dataGaLocation":917},"/ja-jp/topics/cloud-native/","cloud native",{"text":1022,"config":1023},"コーディングのためのAI",{"href":1024,"dataGaName":1025,"dataGaLocation":917},"/ja-jp/topics/devops/ai-for-coding/","ai for coding",{"text":1027,"config":1028},"エージェント型AI",{"href":1029,"dataGaName":1030,"dataGaLocation":917},"/ja-jp/topics/agentic-ai/","agentic ai",{"title":1032,"links":1033},"ソリューション",[1034,1037,1039,1044,1048,1051,1054,1057,1059,1061,1064,1069],{"text":569,"config":1035},{"href":564,"dataGaName":1036,"dataGaLocation":917},"Application Security Testing",{"text":556,"config":1038},{"href":541,"dataGaName":542,"dataGaLocation":917},{"text":1040,"config":1041},"アジャイル開発",{"href":1042,"dataGaName":1043,"dataGaLocation":917},"/ja-jp/solutions/agile-delivery/","agile delivery",{"text":1045,"config":1046},"SCM",{"href":553,"dataGaName":1047,"dataGaLocation":917},"source code management",{"text":179,"config":1049},{"href":546,"dataGaName":1050,"dataGaLocation":917},"continuous integration & delivery",{"text":595,"config":1052},{"href":597,"dataGaName":1053,"dataGaLocation":917},"value stream management",{"text":30,"config":1055},{"href":1056,"dataGaName":1000,"dataGaLocation":917},"/ja-jp/solutions/gitops/",{"text":608,"config":1058},{"href":611,"dataGaName":612,"dataGaLocation":917},{"text":614,"config":1060},{"href":617,"dataGaName":618,"dataGaLocation":917},{"text":1062,"config":1063},"公共機関",{"href":623,"dataGaName":624,"dataGaLocation":917},{"text":1065,"config":1066},"教育",{"href":1067,"dataGaName":1068,"dataGaLocation":917},"/ja-jp/solutions/education/","education",{"text":1070,"config":1071},"金融サービス",{"href":1072,"dataGaName":1073,"dataGaLocation":917},"/ja-jp/solutions/finance/","financial services",{"title":1075,"links":1076},"リソース",[1077,1079,1081,1083,1087,1089,1092,1094,1096,1098,1100,1102,1104,1106],{"text":644,"config":1078},{"href":646,"dataGaName":647,"dataGaLocation":917},{"text":649,"config":1080},{"href":651,"dataGaName":652,"dataGaLocation":917},{"text":654,"config":1082},{"href":656,"dataGaName":657,"dataGaLocation":917},{"text":659,"config":1084},{"href":1085,"dataGaName":1086,"dataGaLocation":917},"https://docs.gitlab.com/ja-jp","docs",{"text":682,"config":1088},{"href":684,"dataGaName":685,"dataGaLocation":917},{"text":1090,"config":1091},"最新リリース",{"href":742,"dataGaName":743,"dataGaLocation":917},{"text":677,"config":1093},{"href":679,"dataGaName":680,"dataGaLocation":917},{"text":696,"config":1095},{"href":698,"dataGaName":699,"dataGaLocation":917},{"text":704,"config":1097},{"href":706,"dataGaName":707,"dataGaLocation":917},{"text":709,"config":1099},{"href":711,"dataGaName":712,"dataGaLocation":917},{"text":714,"config":1101},{"href":716,"dataGaName":717,"dataGaLocation":917},{"text":719,"config":1103},{"href":721,"dataGaName":722,"dataGaLocation":917},{"text":724,"config":1105},{"href":726,"dataGaName":727,"dataGaLocation":917},{"text":729,"config":1107},{"href":731,"dataGaName":732,"dataGaLocation":917},{"title":1109,"links":1110},"会社情報",[1111,1113,1115,1117,1119,1121,1125,1130,1132,1134,1136],{"text":753,"config":1112},{"href":755,"dataGaName":747,"dataGaLocation":917},{"text":758,"config":1114},{"href":760,"dataGaName":761,"dataGaLocation":917},{"text":766,"config":1116},{"href":768,"dataGaName":769,"dataGaLocation":917},{"text":771,"config":1118},{"href":773,"dataGaName":774,"dataGaLocation":917},{"text":776,"config":1120},{"href":778,"dataGaName":779,"dataGaLocation":917},{"text":1122,"config":1123},"Sustainability",{"href":1124,"dataGaName":1122,"dataGaLocation":917},"/sustainability/",{"text":1126,"config":1127},"ダイバーシティ、インクルージョン、ビロンギング（DIB）",{"href":1128,"dataGaName":1129,"dataGaLocation":917},"/ja-jp/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":781,"config":1131},{"href":783,"dataGaName":784,"dataGaLocation":917},{"text":791,"config":1133},{"href":793,"dataGaName":794,"dataGaLocation":917},{"text":796,"config":1135},{"href":798,"dataGaName":799,"dataGaLocation":917},{"text":1137,"config":1138},"現代奴隷制の透明性に関する声明",{"href":1139,"dataGaName":1140,"dataGaLocation":917},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":1142},[1143,1145,1148],{"text":965,"config":1144},{"href":967,"dataGaName":968,"dataGaLocation":917},{"text":1146,"config":1147},"Cookieの設定",{"dataGaName":977,"dataGaLocation":917,"id":978,"isOneTrustButton":460},{"text":970,"config":1149},{"href":972,"dataGaName":973,"dataGaLocation":917},[1151,1165],{"id":1152,"title":7,"body":456,"config":1153,"content":1155,"description":456,"extension":1159,"meta":1160,"navigation":460,"path":1161,"seo":1162,"stem":1163,"__hash__":1164},"blogAuthors/en-us/blog/authors/brad-downey.yml",{"template":1154},"BlogAuthor",{"name":7,"config":1156},{"headshot":1157,"ctfId":1158},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749659488/Blog/Author%20Headshots/gitlab-logo-extra-whitespace.png","6b6RTu6832NFEju2zKJhbE","yml",{},"/en-us/blog/authors/brad-downey",{},"en-us/blog/authors/brad-downey","9FFw7Icb9HxOXOUNWwHDVgqQ6DwLQ__IwR6yDkfIJ2c",{"id":1166,"title":8,"body":456,"config":1167,"content":1168,"description":456,"extension":1159,"meta":1171,"navigation":460,"path":1172,"seo":1173,"stem":1174,"__hash__":1175},"blogAuthors/en-us/blog/authors/sara-kassabian.yml",{"template":1154},{"name":8,"config":1169},{"headshot":194,"ctfId":1170},"skassabian",{},"/en-us/blog/authors/sara-kassabian",{},"en-us/blog/authors/sara-kassabian","6cCCPpjzkCDfb77tMVCyG8_FImRVQXA2VCMyiAjhFX0",[1177,1184,1191],{"title":1178,"description":1178,"heroImage":1179,"category":452,"date":1180,"authors":1181,"slug":1183,"externalUrl":456},"MCPサーバーとは？仕組みやソフトウェア開発の活用例をわかりやすく解説","https://res.cloudinary.com/about-gitlab-com/image/upload/v1786001428/qedvughylmeposoqm5zs.jpg","2026-08-07",[1182],"GitLab Team","what-is-mcp-server",{"title":1185,"description":1186,"heroImage":1187,"category":452,"date":1188,"authors":1189,"slug":1190,"externalUrl":456},"イテレーションとは？意味や進め方、おすすめの支援ツールを紹介","イテレーションとは、アジャイル開発における「反復」を意味する開発単位です。本記事では、イテレーションの意味やスプリントとの違い、具体的な進め方、成功のポイントをわかりやすく解説します。アジャイル開発を支援するツールもあわせて紹介します。","https://res.cloudinary.com/about-gitlab-com/image/upload/v1785816755/mj23yaguu0gxvbztd6pl.jpg","2026-08-06",[1182],"what-is-iteration",{"title":1192,"description":1193,"heroImage":1194,"category":452,"date":1188,"authors":1195,"slug":1198,"externalUrl":456},"GitLab Self-Hostedで実現するコンフィデンシャルAI","ソースコードをハードウェアで暗号化された境界の外に出すことなく、GitLab DuoのAIコーディングエージェントを開発者に提供します。GPUは不要です。","https://res.cloudinary.com/about-gitlab-com/image/upload/v1773866173/vte9qh8rriznvyclhkes.png",[1196,1197],"Mathias Ewald","Martin Paloncy, Edgeless Systems","confidential-ai-for-gitlab-self-hosted",{"promotions":1200},[1201,1215,1227,1239],{"id":1202,"categories":1203,"header":1205,"text":1206,"button":1207,"image":1212},"ai-modernization",[1204],"ai","AIの真価、組織全体で発揮できていますか？","所要時間は5分以内です",{"text":1208,"config":1209},"AI成熟度スコアを確認する",{"href":1210,"dataGaName":1211,"dataGaLocation":685},"/ja-jp/assessments/ai-modernization-assessment/","modernization assessment",{"config":1213},{"src":1214},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/qix0m7kwnd8x2fh1zq49.png",{"id":1216,"categories":1217,"header":1219,"text":1206,"button":1220,"image":1224},"devops-modernization",[1218,1015],"product","単にツールを管理するだけでなく、イノベーションを提供していますか？",{"text":1221,"config":1222},"DevOps成熟度スコアを確認しましょう",{"href":1223,"dataGaName":1211,"dataGaLocation":685},"/ja-jp/assessments/devops-modernization-assessment/",{"config":1225},{"src":1226},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138785/eg818fmakweyuznttgid.png",{"id":1228,"categories":1229,"header":1231,"text":1206,"button":1232,"image":1236},"security-modernization",[1230],"security","スピードのためにセキュリティを犠牲にしていませんか？",{"text":1233,"config":1234},"セキュリティ成熟度スコアを確認しましょう",{"href":1235,"dataGaName":1211,"dataGaLocation":685},"/ja-jp/assessments/security-modernization-assessment/",{"config":1237},{"src":1238},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/p4pbqd9nnjejg5ds6mdk.png",{"id":1240,"paths":1241,"header":1244,"text":1245,"button":1246,"image":1251},"github-azure-migration",[1242,1243],"migration-from-azure-devops-to-gitlab","integrating-azure-devops-scm-and-gitlab","チームはGitHubのAzure移行に対応できていますか？","GitHubはすでにAzureを基盤として再構築を進めています。それがあなたのチームにとって何を意味するのか、ご確認ください。",{"text":1247,"config":1248},"GitLabとGitHubの比較を見る",{"href":1249,"dataGaName":1250,"dataGaLocation":685},"/ja-jp/compare/gitlab-vs-github/github-azure-migration/","github azure migration",{"config":1252},{"src":1226},{"header":1254,"blurb":1255,"button":1256,"secondaryButton":1260},"今すぐ開発をスピードアップ","DevSecOpsに特化したインテリジェントオーケストレーションプラットフォームで実現できることをご確認ください。\n",{"text":480,"config":1257},{"href":1258,"dataGaName":483,"dataGaLocation":1259},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/ja-jp/","feature",{"text":801,"config":1261},{"href":810,"dataGaName":488,"dataGaLocation":1259},1786803771688]