[{"data":1,"prerenderedAt":1455},["ShallowReactive",2],{"/ja-jp/blog/automating-container-image-migration-from-amazon-ecr-to-gitlab":3,"navigation-ja-jp":677,"banner-ja-jp":1105,"footer-ja-jp":1113,"blog-post-authors-ja-jp-Tim Rizzi":1355,"blog-related-posts-ja-jp-automating-container-image-migration-from-amazon-ecr-to-gitlab":1370,"blog-promotions-ja-jp":1393,"next-steps-ja-jp":1446},{"id":4,"title":5,"authors":6,"body":8,"category":653,"date":654,"description":655,"extension":656,"externalUrl":657,"faq":657,"featured":323,"heroImage":658,"meta":659,"navigation":323,"path":660,"seo":661,"slug":666,"stem":667,"tags":668,"template":674,"updatedDate":675,"__hash__":676},"blogPosts/ja-jp/blog/automating-container-image-migration-from-amazon-ecr-to-gitlab.md","Amazon ECRからGitLabへのコンテナイメージ移行の自動化",[7],"Tim Rizzi",{"type":9,"value":10,"toc":642},"minimark",[11,15,18,22,38,41,44,48,51,212,216,219,282,285,288,360,363,370,373,417,422,425,464,469,472,555,558,561,576,579,582,585,601,604,607,621,624,638],[12,13,14],"p",{},"「Amazon Elastic Container Registry（ECR）からGitLabに数百ものコンテナイメージを移行する必要があるのですが、手伝ってもらえますか？」これまでのプラットフォームエンジニアとの会話の中で、何度もこの質問が出てきました。彼らは、DevSecOpsツールチェーンをGitLabに統合してモダナイズしようとしていたものの、コンテナイメージの移行の箇所でつまずいていました。個々のイメージの移行は簡単でも、数が多すぎると、手作業で行うのは現実的ではありません。",[12,16,17],{},"まさに、あるエンジニアは「やるべきことはわかっています。プルして、再タグ付けして、プッシュするだけです。しかし、マイクロサービスが200個もあり、それぞれに複数のタグがあります。インフラストラクチャ関連の重要な仕事が山積みの中、この移行作業に何週間も費やすわけにはいきません」と話していました。",[19,20,21],"h2",{"id":21},"課題",[12,23,24,25,31,32,37],{},"この会話をきっかけに、プロセス全体を自動化できないかと考えました。",[26,27,30],"a",{"href":28,"rel":29},"https://about.gitlab.com/ja-jp/topics/ci-cd/",[],"CI/CD","をGitLabに移行する際、",[26,33,36],{"href":34,"rel":35},"https://about.gitlab.com/ja-jp/blog/what-is-docker/",[],"コンテナイメージ","の移行がボトルネックになってはなりません。手作業はシンプルですが、繰り返しが多すぎます。各イメージをプルし、再タグ付けし、GitLabのコンテナレジストリにプッシュする…これを数十のリポジトリ、各イメージの何百ものタグに対して行うとなると、数日から数週間かかる途方もない作業になります。",[19,39,40],{"id":40},"解決策",[12,42,43],{},"そこで、こういった大変な作業を自動処理するGitLabパイプラインの作成に取り掛かりました。目標はシンプルです。プラットフォームエンジニアが数分でセットアップできて、一晩放置すればすべてのイメージの移行が完了している、そんなツールを作ることでした。",[45,46,47],"h3",{"id":47},"アクセス権の設定",[12,49,50],{},"まずはセキュリティです。チームが最小限のAWS権限でこの移行作業を実行できるようにすることを重視しました。以下の読み取り専用のアイデンティティおよびアクセス管理（IAM）ポリシーを用意しました。",[52,53,58],"pre",{"className":54,"code":55,"language":56,"meta":57,"style":57},"language-json shiki shiki-themes github-light","{\n    \"Version\": \"2012-10-17\",\n    \"Statement\": [\n        {\n            \"Effect\": \"Allow\",\n            \"Action\": [\n                \"ecr:GetAuthorizationToken\",\n                \"ecr:BatchCheckLayerAvailability\",\n                \"ecr:GetDownloadUrlForLayer\",\n                \"ecr:DescribeRepositories\",\n                \"ecr:ListImages\",\n                \"ecr:DescribeImages\",\n                \"ecr:BatchGetImage\"\n            ],\n            \"Resource\": \"*\"\n        }\n    ]\n}\n","json","",[59,60,61,70,87,96,102,115,123,131,139,147,155,163,171,177,183,194,200,206],"code",{"__ignoreMap":57},[62,63,66],"span",{"class":64,"line":65},"line",1,[62,67,69],{"class":68},"sgsFI","{\n",[62,71,73,77,80,84],{"class":64,"line":72},2,[62,74,76],{"class":75},"sYu0t","    \"Version\"",[62,78,79],{"class":68},": ",[62,81,83],{"class":82},"sYBdl","\"2012-10-17\"",[62,85,86],{"class":68},",\n",[62,88,90,93],{"class":64,"line":89},3,[62,91,92],{"class":75},"    \"Statement\"",[62,94,95],{"class":68},": [\n",[62,97,99],{"class":64,"line":98},4,[62,100,101],{"class":68},"        {\n",[62,103,105,108,110,113],{"class":64,"line":104},5,[62,106,107],{"class":75},"            \"Effect\"",[62,109,79],{"class":68},[62,111,112],{"class":82},"\"Allow\"",[62,114,86],{"class":68},[62,116,118,121],{"class":64,"line":117},6,[62,119,120],{"class":75},"            \"Action\"",[62,122,95],{"class":68},[62,124,126,129],{"class":64,"line":125},7,[62,127,128],{"class":82},"                \"ecr:GetAuthorizationToken\"",[62,130,86],{"class":68},[62,132,134,137],{"class":64,"line":133},8,[62,135,136],{"class":82},"                \"ecr:BatchCheckLayerAvailability\"",[62,138,86],{"class":68},[62,140,142,145],{"class":64,"line":141},9,[62,143,144],{"class":82},"                \"ecr:GetDownloadUrlForLayer\"",[62,146,86],{"class":68},[62,148,150,153],{"class":64,"line":149},10,[62,151,152],{"class":82},"                \"ecr:DescribeRepositories\"",[62,154,86],{"class":68},[62,156,158,161],{"class":64,"line":157},11,[62,159,160],{"class":82},"                \"ecr:ListImages\"",[62,162,86],{"class":68},[62,164,166,169],{"class":64,"line":165},12,[62,167,168],{"class":82},"                \"ecr:DescribeImages\"",[62,170,86],{"class":68},[62,172,174],{"class":64,"line":173},13,[62,175,176],{"class":82},"                \"ecr:BatchGetImage\"\n",[62,178,180],{"class":64,"line":179},14,[62,181,182],{"class":68},"            ],\n",[62,184,186,189,191],{"class":64,"line":185},15,[62,187,188],{"class":75},"            \"Resource\"",[62,190,79],{"class":68},[62,192,193],{"class":82},"\"*\"\n",[62,195,197],{"class":64,"line":196},16,[62,198,199],{"class":68},"        }\n",[62,201,203],{"class":64,"line":202},17,[62,204,205],{"class":68},"    ]\n",[62,207,209],{"class":64,"line":208},18,[62,210,211],{"class":68},"}\n",[45,213,215],{"id":214},"gitlabの設定","GitLabの設定",[12,217,218],{},"セキュリティの次はGitLab側の設定です。最小限の構成で済むようにしました。CI/CD設定で以下の変数を設定します。",[52,220,224],{"className":221,"code":222,"language":223,"meta":57,"style":57},"language-yaml shiki shiki-themes github-light","AWS_ACCOUNT_ID: AWSのアカウントID\nAWS_DEFAULT_REGION: ECRのリージョン\nAWS_ACCESS_KEY_ID: [マスク]\nAWS_SECRET_ACCESS_KEY: [マスク]\nBULK_MIGRATE: true\n","yaml",[59,225,226,237,247,261,272],{"__ignoreMap":57},[62,227,228,232,234],{"class":64,"line":65},[62,229,231],{"class":230},"shJU0","AWS_ACCOUNT_ID",[62,233,79],{"class":68},[62,235,236],{"class":82},"AWSのアカウントID\n",[62,238,239,242,244],{"class":64,"line":72},[62,240,241],{"class":230},"AWS_DEFAULT_REGION",[62,243,79],{"class":68},[62,245,246],{"class":82},"ECRのリージョン\n",[62,248,249,252,255,258],{"class":64,"line":89},[62,250,251],{"class":230},"AWS_ACCESS_KEY_ID",[62,253,254],{"class":68},": [",[62,256,257],{"class":82},"マスク",[62,259,260],{"class":68},"]\n",[62,262,263,266,268,270],{"class":64,"line":98},[62,264,265],{"class":230},"AWS_SECRET_ACCESS_KEY",[62,267,254],{"class":68},[62,269,257],{"class":82},[62,271,260],{"class":68},[62,273,274,277,279],{"class":64,"line":104},[62,275,276],{"class":230},"BULK_MIGRATE",[62,278,79],{"class":68},[62,280,281],{"class":75},"true\n",[45,283,284],{"id":284},"移行パイプライン",[12,286,287],{},"ここからが本番です。このパイプラインはDocker-in-Dockerを使って構築し、すべてのイメージ操作を安定して実行できるようにしました。",[52,289,291],{"className":221,"code":290,"language":223,"meta":57,"style":57},"image: docker:20.10\nservices:\n  - docker:20.10-dind\n\nbefore_script:\n  - apk add --no-cache aws-cli jq\n  - aws sts get-caller-identity\n  - aws ecr get-login-password | docker login --username AWS --password-stdin\n  - docker login -u ${CI_REGISTRY_USER} -p ${CI_REGISTRY_PASSWORD} ${CI_REGISTRY}\n",[59,292,293,303,311,319,325,332,339,346,353],{"__ignoreMap":57},[62,294,295,298,300],{"class":64,"line":65},[62,296,297],{"class":230},"image",[62,299,79],{"class":68},[62,301,302],{"class":82},"docker:20.10\n",[62,304,305,308],{"class":64,"line":72},[62,306,307],{"class":230},"services",[62,309,310],{"class":68},":\n",[62,312,313,316],{"class":64,"line":89},[62,314,315],{"class":68},"  - ",[62,317,318],{"class":82},"docker:20.10-dind\n",[62,320,321],{"class":64,"line":98},[62,322,324],{"emptyLinePlaceholder":323},true,"\n",[62,326,327,330],{"class":64,"line":104},[62,328,329],{"class":230},"before_script",[62,331,310],{"class":68},[62,333,334,336],{"class":64,"line":117},[62,335,315],{"class":68},[62,337,338],{"class":82},"apk add --no-cache aws-cli jq\n",[62,340,341,343],{"class":64,"line":125},[62,342,315],{"class":68},[62,344,345],{"class":82},"aws sts get-caller-identity\n",[62,347,348,350],{"class":64,"line":133},[62,349,315],{"class":68},[62,351,352],{"class":82},"aws ecr get-login-password | docker login --username AWS --password-stdin\n",[62,354,355,357],{"class":64,"line":141},[62,356,315],{"class":68},[62,358,359],{"class":82},"docker login -u ${CI_REGISTRY_USER} -p ${CI_REGISTRY_PASSWORD} ${CI_REGISTRY}\n",[12,361,362],{},"このパイプラインは3つのフェーズで構成され、それぞれが前のフェーズをベースにします。",[364,365,366],"ol",{},[367,368,369],"li",{},"検出",[12,371,372],{},"まず、すべてのECRリポジトリを取得します。",[52,374,378],{"className":375,"code":376,"language":377,"meta":57,"style":57},"language-bash shiki shiki-themes github-light","REPOS=$(aws ecr describe-repositories --query 'repositories[*].repositoryName' --output text)\n","bash",[59,379,380],{"__ignoreMap":57},[62,381,382,385,389,392,396,399,402,405,408,411,414],{"class":64,"line":65},[62,383,384],{"class":68},"REPOS",[62,386,388],{"class":387},"sD7c4","=",[62,390,391],{"class":68},"$(",[62,393,395],{"class":394},"s7eDp","aws",[62,397,398],{"class":82}," ecr",[62,400,401],{"class":82}," describe-repositories",[62,403,404],{"class":75}," --query",[62,406,407],{"class":82}," 'repositories[*].repositoryName'",[62,409,410],{"class":75}," --output",[62,412,413],{"class":82}," text",[62,415,416],{"class":68},")\n",[364,418,419],{"start":72},[367,420,421],{},"タグの列挙",[12,423,424],{},"次に、各リポジトリの全タグを取得します。",[52,426,428],{"className":375,"code":427,"language":377,"meta":57,"style":57},"TAGS=$(aws ecr describe-images --repository-name $repo --query 'imageDetails[*].imageTags[]' --output text)\n",[59,429,430],{"__ignoreMap":57},[62,431,432,435,437,439,441,443,446,449,452,455,458,460,462],{"class":64,"line":65},[62,433,434],{"class":68},"TAGS",[62,436,388],{"class":387},[62,438,391],{"class":68},[62,440,395],{"class":394},[62,442,398],{"class":82},[62,444,445],{"class":82}," describe-images",[62,447,448],{"class":75}," --repository-name",[62,450,451],{"class":68}," $repo ",[62,453,454],{"class":75},"--query",[62,456,457],{"class":82}," 'imageDetails[*].imageTags[]'",[62,459,410],{"class":75},[62,461,413],{"class":82},[62,463,416],{"class":68},[364,465,466],{"start":89},[367,467,468],{},"移行",[12,470,471],{},"最後に、実際にイメージ移行を実行します。",[52,473,475],{"className":375,"code":474,"language":377,"meta":57,"style":57},"docker pull ${AWS_ACCOUNT_ID}.dkr.ecr.${AWS_DEFAULT_REGION}.amazonaws.com/${repo}:${tag}\ndocker tag ${AWS_ACCOUNT_ID}.dkr.ecr.${AWS_DEFAULT_REGION}.amazonaws.com/${repo}:${tag} ${CI_REGISTRY_IMAGE}/${repo}:${tag}\ndocker push ${CI_REGISTRY_IMAGE}/${repo}:${tag}\n",[59,476,477,506,537],{"__ignoreMap":57},[62,478,479,482,485,488,491,494,497,500,503],{"class":64,"line":65},[62,480,481],{"class":394},"docker",[62,483,484],{"class":82}," pull",[62,486,487],{"class":68}," ${AWS_ACCOUNT_ID}",[62,489,490],{"class":82},".dkr.ecr.",[62,492,493],{"class":68},"${AWS_DEFAULT_REGION}",[62,495,496],{"class":82},".amazonaws.com/",[62,498,499],{"class":68},"${repo}",[62,501,502],{"class":82},":",[62,504,505],{"class":68},"${tag}\n",[62,507,508,510,513,515,517,519,521,523,525,528,531,533,535],{"class":64,"line":72},[62,509,481],{"class":394},[62,511,512],{"class":82}," tag",[62,514,487],{"class":68},[62,516,490],{"class":82},[62,518,493],{"class":68},[62,520,496],{"class":82},[62,522,499],{"class":68},[62,524,502],{"class":82},[62,526,527],{"class":68},"${tag} ${CI_REGISTRY_IMAGE}",[62,529,530],{"class":82},"/",[62,532,499],{"class":68},[62,534,502],{"class":82},[62,536,505],{"class":68},[62,538,539,541,544,547,549,551,553],{"class":64,"line":89},[62,540,481],{"class":394},[62,542,543],{"class":82}," push",[62,545,546],{"class":68}," ${CI_REGISTRY_IMAGE}",[62,548,530],{"class":82},[62,550,499],{"class":68},[62,552,502],{"class":82},[62,554,505],{"class":68},[19,556,557],{"id":557},"期待できる成果",[12,559,560],{},"移行に何週間もかける時間がないというプラットフォームエンジニアのために、このソリューションは次のような成果を提供します。",[562,563,564,567,570,573],"ul",{},[367,565,566],{},"すべてのリポジトリとタグを自動的に検出・移行",[367,568,569],{},"ECRとGitLabのイメージ命名規則を統一",[367,571,572],{},"転送失敗時のエラーハンドリング",[367,574,575],{},"進捗を追跡できる明確なログ",[12,577,578],{},"移行スクリプトを書いたり、移行作業を監視したりする必要がなくなり、プラットフォームエンジニアは他の重要な作業に集中できるようになります。",[19,580,581],{"id":581},"使い方",[12,583,584],{},"手順はシンプルです。",[364,586,587,593,596],{},[367,588,589,592],{},[59,590,591],{},".gitlab-ci.yml","をリポジトリにコピー",[367,594,595],{},"AWSとGitLabの変数を設定",[367,597,598,600],{},[59,599,276],{},"を「true」に設定して、移行を開始",[19,602,603],{"id":603},"ベストプラクティス",[12,605,606],{},"さまざまなチームの移行を支援する中で、いくつかの重要なポイントが見えてきました。",[562,608,609,612,615,618],{},[367,610,611],{},"ピーク時以外に実行し、チームへの影響を最小限に抑える",[367,613,614],{},"パイプラインのログを確認し、必要な対応がないかチェックする",[367,616,617],{},"すべてのイメージが正常に転送されたことを確認するまで、ECRを廃止しない",[367,619,620],{},"大規模な移行の場合、ネットワーク負荷を避けるためにレート制限の適用を検討する",[12,622,623],{},"このパイプラインは、GitLabの公開リポジトリでオープンソースとして提供しています。プラットフォームエンジニアがコンテナイメージの移行に時間を取られるのではなく、本来の業務に専念できるよう設計されています。ニーズに応じてカスタマイズしてお使いください。実装についてのご質問もお待ちしています。",[625,626,627],"blockquote",{},[628,629,631,632,637],"h4",{"id":630},"このパッケージおよびその他のコンポーネントの詳細についてはcicdカタログのドキュメントをご覧ください","このパッケージおよびその他のコンポーネントの詳細については、",[26,633,636],{"href":634,"rel":635},"https://gitlab.com/explore/catalog/components/package",[],"CI/CDカタログのドキュメント","をご覧ください。",[639,640,641],"style",{},"html pre.shiki code .sgsFI, html code.shiki .sgsFI{--shiki-default:#24292E}html pre.shiki code .sYu0t, html code.shiki .sYu0t{--shiki-default:#005CC5}html pre.shiki code .sYBdl, html code.shiki .sYBdl{--shiki-default:#032F62}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html pre.shiki code .shJU0, html code.shiki .shJU0{--shiki-default:#22863A}html pre.shiki code .sD7c4, html code.shiki .sD7c4{--shiki-default:#D73A49}html pre.shiki code .s7eDp, html code.shiki .s7eDp{--shiki-default:#6F42C1}",{"title":57,"searchDepth":72,"depth":72,"links":643},[644,645,650,651,652],{"id":21,"depth":72,"text":21},{"id":40,"depth":72,"text":40,"children":646},[647,648,649],{"id":47,"depth":89,"text":47},{"id":214,"depth":89,"text":215},{"id":284,"depth":89,"text":284},{"id":557,"depth":72,"text":557},{"id":581,"depth":72,"text":581},{"id":603,"depth":72,"text":603},"engineering","2025-02-13","プラットフォームチームがCI/CDをGitLabに移行する際、コンテナイメージの移行がボトルネックになってはなりません。このガイドでは、パイプライン移行を自動化する方法を詳しく解説します。","md",null,"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749663129/Blog/Hero%20Images/blog-image-template-1800x945__28_.png",{},"/ja-jp/blog/automating-container-image-migration-from-amazon-ecr-to-gitlab",{"ogTitle":5,"ogImage":658,"ogDescription":655,"ogSiteName":662,"noIndex":663,"ogType":664,"ogUrl":665,"title":5,"canonicalUrls":665,"description":655},"https://about.gitlab.com",false,"article","https://about.gitlab.com/blog/automating-container-image-migration-from-amazon-ecr-to-gitlab","automating-container-image-migration-from-amazon-ecr-to-gitlab","ja-jp/blog/automating-container-image-migration-from-amazon-ecr-to-gitlab",[30,669,670,671,672,673],"AWS","tutorial","DevSecOps platform","product","solutions architecture","BlogPost","2026-06-26","s5uj7PSnmacqMPPS-fRXBmydVMROnjagYHhl84cBVFY",{"logo":678,"freeTrial":683,"sales":688,"login":693,"items":698,"search":1025,"minimal":1058,"duo":1075,"switchNav":1084,"pricingDeployment":1095},{"config":679},{"href":680,"dataGaName":681,"dataGaLocation":682},"/ja-jp/","gitlab logo","header",{"text":684,"config":685},"無料トライアルを開始",{"href":686,"dataGaName":687,"dataGaLocation":682},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/ja-jp&glm_content=default-saas-trial/","free trial",{"text":689,"config":690},"デモをリクエスト",{"href":691,"dataGaName":692,"dataGaLocation":682},"/ja-jp/sales/?contact-topic=request-demo","sales",{"text":694,"config":695},"サインイン",{"href":696,"dataGaName":697,"dataGaLocation":682},"https://gitlab.com/users/sign_in/","sign in",[699,728,829,834,947,1003],{"text":700,"config":701,"menu":703},"プラットフォーム",{"dataNavLevelOne":702},"platform",{"type":704,"columns":705},"cards",[706,712,720],{"title":700,"description":707,"link":708},"DevSecOpsに特化したインテリジェントオーケストレーションプラットフォーム",{"text":709,"config":710},"プラットフォームの詳細はこちら",{"href":711,"dataGaName":702,"dataGaLocation":682},"/ja-jp/platform/",{"title":713,"description":714,"link":715},"GitLab Duo Agent Platform","ソフトウェアライフサイクル全体を支えるエージェント型AI",{"text":716,"config":717},"GitLab Duoのご紹介",{"href":718,"dataGaName":719,"dataGaLocation":682},"/ja-jp/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":721,"description":722,"link":723},"GitLabが選ばれる理由","エンタープライズがGitLabを選ぶ主な理由をご覧ください",{"text":724,"config":725},"詳細はこちら",{"href":726,"dataGaName":727,"dataGaLocation":682},"/ja-jp/why-gitlab/","why gitlab",{"text":729,"left":323,"config":730,"menu":732},"製品",{"dataNavLevelOne":731},"solutions",{"type":733,"link":734,"columns":738,"feature":808},"lists",{"text":735,"config":736},"すべてのソリューションを表示",{"href":737,"dataGaName":731,"dataGaLocation":682},"/ja-jp/solutions/",[739,763,786],{"title":740,"description":741,"link":742,"items":747},"自動化","CI/CDと自動化でデプロイを加速",{"config":743},{"icon":744,"href":745,"dataGaName":746,"dataGaLocation":682},"AutomatedCodeAlt","/ja-jp/solutions/delivery-automation/","automated software delivery",[748,751,754,759],{"text":30,"config":749},{"href":750,"dataGaLocation":682,"dataGaName":30},"/ja-jp/solutions/continuous-integration/",{"text":713,"config":752},{"href":718,"dataGaLocation":682,"dataGaName":753},"gitlab duo agent platform - product menu",{"text":755,"config":756},"ソースコード管理",{"href":757,"dataGaLocation":682,"dataGaName":758},"/ja-jp/solutions/source-code-management/","Source Code Management",{"text":760,"config":761},"自動化されたソフトウェアデリバリー",{"href":745,"dataGaLocation":682,"dataGaName":762},"Automated software delivery",{"title":764,"description":765,"link":766,"items":771},"セキュリティ","セキュリティを犠牲にすることなくコード作成を高速化",{"config":767},{"href":768,"dataGaName":769,"dataGaLocation":682,"icon":770},"/ja-jp/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[772,776,781],{"text":773,"config":774},"アプリケーションセキュリティテスト",{"href":768,"dataGaName":775,"dataGaLocation":682},"Application security testing",{"text":777,"config":778},"ソフトウェアサプライチェーンセキュリティ",{"href":779,"dataGaLocation":682,"dataGaName":780},"/ja-jp/solutions/supply-chain/","Software supply chain security",{"text":782,"config":783},"ソフトウェアコンプライアンス",{"href":784,"dataGaName":785,"dataGaLocation":682},"/ja-jp/solutions/software-compliance/","software compliance",{"title":787,"link":788,"items":793},"測定",{"config":789},{"icon":790,"href":791,"dataGaName":792,"dataGaLocation":682},"DigitalTransformation","/ja-jp/solutions/visibility-measurement/","visibility and measurement",[794,798,803],{"text":795,"config":796},"可視性と測定",{"href":791,"dataGaLocation":682,"dataGaName":797},"Visibility and Measurement",{"text":799,"config":800},"バリューストリーム管理",{"href":801,"dataGaLocation":682,"dataGaName":802},"/ja-jp/solutions/value-stream-management/","Value Stream Management",{"text":804,"config":805},"分析とインサイト",{"href":806,"dataGaLocation":682,"dataGaName":807},"/ja-jp/solutions/analytics-and-insights/","Analytics and insights",{"title":809,"type":733,"items":810},"GitLabが活躍する場所",[811,817,823],{"text":812,"config":813},"大企業",{"icon":814,"href":815,"dataGaLocation":682,"dataGaName":816},"Building","/ja-jp/enterprise/","enterprise",{"text":818,"config":819},"スモールビジネス",{"icon":820,"href":821,"dataGaLocation":682,"dataGaName":822},"Work","/ja-jp/small-business/","small business",{"text":824,"config":825},"公共部門",{"icon":826,"href":827,"dataGaLocation":682,"dataGaName":828},"Organization","/ja-jp/solutions/public-sector/","public sector",{"text":830,"config":831},"価格",{"href":832,"dataGaName":833,"dataGaLocation":682,"dataNavLevelOne":833},"/ja-jp/pricing/","pricing",{"text":835,"config":836,"menu":838},"関連リソース",{"dataNavLevelOne":837},"resources",{"type":733,"link":839,"columns":843,"feature":936},{"text":840,"config":841},"すべてのリソースを表示",{"href":842,"dataGaName":837,"dataGaLocation":682},"/ja-jp/resources/",[844,877,904],{"title":845,"items":846},"はじめに",[847,852,857,862,867,872],{"text":848,"config":849},"インストール",{"href":850,"dataGaName":851,"dataGaLocation":682},"/ja-jp/install/","install",{"text":853,"config":854},"クイックスタートガイド",{"href":855,"dataGaName":856,"dataGaLocation":682},"/ja-jp/get-started/","quick setup checklists",{"text":858,"config":859},"学ぶ",{"href":860,"dataGaLocation":682,"dataGaName":861},"https://university.gitlab.com/","learn",{"text":863,"config":864},"製品ドキュメント",{"href":865,"dataGaName":866,"dataGaLocation":682},"https://docs.gitlab.com/ja-jp/","product documentation",{"text":868,"config":869},"ベストプラクティスビデオ",{"href":870,"dataGaName":871,"dataGaLocation":682},"/ja-jp/getting-started-videos/","best practice videos",{"text":873,"config":874},"インテグレーション",{"href":875,"dataGaName":876,"dataGaLocation":682},"/ja-jp/integrations/","integrations",{"title":878,"items":879},"検索する",[880,885,890,895,899],{"text":881,"config":882},"お客様成功事例",{"href":883,"dataGaName":884,"dataGaLocation":682},"/ja-jp/customers/","customer success stories",{"text":886,"config":887},"ブログ",{"href":888,"dataGaName":889,"dataGaLocation":682},"/ja-jp/blog/","blog",{"text":891,"config":892},"Demo Hub",{"href":893,"dataGaName":894,"dataGaLocation":682},"/ja-jp/demo-hub/","demo hub",{"text":896,"config":897},"The Source",{"href":898,"dataGaName":889,"dataGaLocation":682},"/ja-jp/the-source/",{"text":900,"config":901},"リモート",{"href":902,"dataGaName":903,"dataGaLocation":682},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":905,"items":906},"つなげる",[907,911,916,921,926,931],{"text":908,"config":909},"GitLabサービス",{"href":910,"dataGaName":307,"dataGaLocation":682},"/ja-jp/services/",{"text":912,"config":913},"コントリビュート",{"href":914,"dataGaName":915,"dataGaLocation":682},"https://contributors.gitlab.com","contribute",{"text":917,"config":918},"コミュニティ",{"href":919,"dataGaName":920,"dataGaLocation":682},"/community/","community",{"text":922,"config":923},"フォーラム",{"href":924,"dataGaName":925,"dataGaLocation":682},"https://forum.gitlab.com/","forum",{"text":927,"config":928},"イベント",{"href":929,"dataGaName":930,"dataGaLocation":682},"/events/","events",{"text":932,"config":933},"パートナー",{"href":934,"dataGaName":935,"dataGaLocation":682},"/ja-jp/partners/","partners",{"config":937,"title":940,"text":941,"link":942},{"background":938,"textColor":939},"url('https://res.cloudinary.com/about-gitlab-com/image/upload/v1777322348/qpq8yrgn8knii57omj0c.png')","#000","GitLabの最新情報","最新の機能と改善点に関する情報をお届けします。",{"text":943,"config":944},"最新情報を読む",{"href":945,"dataGaName":946,"dataGaLocation":682},"/ja-jp/whats-new/","whats new",{"text":948,"config":949,"menu":951},"企業情報",{"dataNavLevelOne":950},"company",{"type":733,"columns":952},[953],{"items":954},[955,960,966,968,973,978,983,988,993,998],{"text":956,"config":957},"GitLabについて",{"href":958,"dataGaName":959,"dataGaLocation":682},"/ja-jp/company/","about",{"text":961,"config":962,"footerGa":965},"採用情報",{"href":963,"dataGaName":964,"dataGaLocation":682},"/jobs/","jobs",{"dataGaName":964},{"text":927,"config":967},{"href":929,"dataGaName":930,"dataGaLocation":682},{"text":969,"config":970},"経営陣",{"href":971,"dataGaName":972,"dataGaLocation":682},"/company/team/e-group/","leadership",{"text":974,"config":975},"ハンドブック",{"href":976,"dataGaName":977,"dataGaLocation":682},"https://handbook.gitlab.com/","handbook",{"text":979,"config":980},"投資家向け情報",{"href":981,"dataGaName":982,"dataGaLocation":682},"https://ir.gitlab.com/overview/default.aspx","investor relations",{"text":984,"config":985},"トラストセンター",{"href":986,"dataGaName":987,"dataGaLocation":682},"/ja-jp/security/","trust center",{"text":989,"config":990},"AI Transparency Center",{"href":991,"dataGaName":992,"dataGaLocation":682},"/ja-jp/ai-transparency-center/","ai transparency center",{"text":994,"config":995},"ニュースレター",{"href":996,"dataGaName":997,"dataGaLocation":682},"/company/contact/#contact-forms","newsletter",{"text":999,"config":1000},"プレス",{"href":1001,"dataGaName":1002,"dataGaLocation":682},"/press/","press",{"text":1004,"config":1005,"menu":1006},"お問い合わせ",{"dataNavLevelOne":950},{"type":733,"columns":1007},[1008],{"items":1009},[1010,1015,1020],{"text":1011,"config":1012},"お問い合わせはこちら",{"href":1013,"dataGaName":1014,"dataGaLocation":682},"/ja-jp/sales/","talk to sales",{"text":1016,"config":1017},"サポートを受ける",{"href":1018,"dataGaName":1019,"dataGaLocation":682},"https://support.gitlab.com/hc/en-us","support portal",{"text":1021,"config":1022},"カスタマーポータル",{"href":1023,"dataGaName":1024,"dataGaLocation":682},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":1026,"login":1027,"suggestions":1034},"閉じる",{"text":1028,"link":1029},"リポジトリとプロジェクトを検索するには、次にログインします",{"text":1030,"config":1031},"GitLab.com",{"href":696,"dataGaName":1032,"dataGaLocation":1033},"search login","search",{"text":1035,"default":1036},"提案",[1037,1039,1044,1046,1050,1054],{"text":713,"config":1038},{"href":718,"dataGaName":713,"dataGaLocation":1033},{"text":1040,"config":1041},"コード提案（AI）",{"href":1042,"dataGaName":1043,"dataGaLocation":1033},"/ja-jp/solutions/code-suggestions/","Code Suggestions (AI)",{"text":30,"config":1045},{"href":750,"dataGaName":30,"dataGaLocation":1033},{"text":1047,"config":1048},"GitLab on AWS",{"href":1049,"dataGaName":1047,"dataGaLocation":1033},"/ja-jp/partners/technology-partners/aws/",{"text":1051,"config":1052},"GitLab on Google Cloud",{"href":1053,"dataGaName":1051,"dataGaLocation":1033},"/ja-jp/partners/technology-partners/google-cloud-platform/",{"text":1055,"config":1056},"GitLabを選ぶ理由",{"href":726,"dataGaName":1057,"dataGaLocation":1033},"Why GitLab?",{"freeTrial":1059,"mobileIcon":1063,"desktopIcon":1068,"secondaryButton":1071},{"text":684,"config":1060},{"href":1061,"dataGaName":687,"dataGaLocation":1062},"https://gitlab.com/-/trials/new/","nav",{"altText":1064,"config":1065},"GitLabアイコン",{"src":1066,"dataGaName":1067,"dataGaLocation":1062},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":1064,"config":1069},{"src":1070,"dataGaName":1067,"dataGaLocation":1062},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":845,"config":1072},{"href":1073,"dataGaName":1074,"dataGaLocation":1062},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/ja-jp/get-started/","get started",{"freeTrial":1076,"mobileIcon":1080,"desktopIcon":1082},{"text":1077,"config":1078},"GitLab Duoの詳細について",{"href":718,"dataGaName":1079,"dataGaLocation":1062},"gitlab duo",{"altText":1064,"config":1081},{"src":1066,"dataGaName":1067,"dataGaLocation":1062},{"altText":1064,"config":1083},{"src":1070,"dataGaName":1067,"dataGaLocation":1062},{"button":1085,"mobileIcon":1090,"desktopIcon":1092},{"text":1086,"config":1087},"/switch",{"href":1088,"dataGaName":1089,"dataGaLocation":1062},"#contact","switch",{"altText":1064,"config":1091},{"src":1066,"dataGaName":1067,"dataGaLocation":1062},{"altText":1064,"config":1093},{"src":1094,"dataGaName":1067,"dataGaLocation":1062},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":1096,"mobileIcon":1101,"desktopIcon":1103},{"text":1097,"config":1098},"料金ページに戻る",{"href":832,"dataGaName":1099,"dataGaLocation":1062,"icon":1100},"back to pricing","GoBack",{"altText":1064,"config":1102},{"src":1066,"dataGaName":1067,"dataGaLocation":1062},{"altText":1064,"config":1104},{"src":1070,"dataGaName":1067,"dataGaLocation":1062},{"title":1106,"button":1107,"config":1111},"GitLab Orbitが登場: AIエージェントのためのコンテキストレイヤー",{"text":724,"config":1108},{"href":1109,"dataGaName":1110,"dataGaLocation":682},"/ja-jp/gitlab-orbit/","orbit",{"layout":1112,"disabled":663},"release",{"data":1114},{"text":1115,"source":1116,"edit":1122,"contribute":1127,"config":1132,"items":1137,"minimal":1346},"GitはSoftware Freedom Conservancyの商標です。当社は「GitLab」をライセンスに基づいて使用しています",{"text":1117,"config":1118},"ページのソースを表示",{"href":1119,"dataGaName":1120,"dataGaLocation":1121},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":1123,"config":1124},"このページを編集",{"href":1125,"dataGaName":1126,"dataGaLocation":1121},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":1128,"config":1129},"ご協力をお願いします",{"href":1130,"dataGaName":1131,"dataGaLocation":1121},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":1133,"facebook":1134,"youtube":1135,"linkedin":1136},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[1138,1183,1236,1279,1313],{"title":830,"links":1139,"subMenu":1154},[1140,1144,1149],{"text":1141,"config":1142},"プランの表示",{"href":832,"dataGaName":1143,"dataGaLocation":1121},"view plans",{"text":1145,"config":1146},"Premiumを選ぶ理由",{"href":1147,"dataGaName":1148,"dataGaLocation":1121},"/ja-jp/pricing/premium/","why premium",{"text":1150,"config":1151},"Ultimateを選ぶ理由",{"href":1152,"dataGaName":1153,"dataGaLocation":1121},"/ja-jp/pricing/ultimate/","why ultimate",[1155],{"title":1004,"links":1156},[1157,1159,1161,1163,1168,1173,1178],{"text":1004,"config":1158},{"href":1013,"dataGaName":692,"dataGaLocation":1121},{"text":1016,"config":1160},{"href":1018,"dataGaName":1019,"dataGaLocation":1121},{"text":1021,"config":1162},{"href":1023,"dataGaName":1024,"dataGaLocation":1121},{"text":1164,"config":1165},"ステータス",{"href":1166,"dataGaName":1167,"dataGaLocation":1121},"https://status.gitlab.com/","status",{"text":1169,"config":1170},"利用規約",{"href":1171,"dataGaName":1172,"dataGaLocation":1121},"/terms/","terms of use",{"text":1174,"config":1175},"プライバシーに関する声明",{"href":1176,"dataGaName":1177,"dataGaLocation":1121},"/ja-jp/privacy/","privacy statement",{"text":1179,"config":1180},"Cookie 優先設定",{"dataGaName":1181,"dataGaLocation":1121,"id":1182,"isOneTrustButton":323},"cookie preferences","ot-sdk-btn",{"title":729,"links":1184,"subMenu":1193},[1185,1189],{"text":1186,"config":1187},"DevSecOpsプラットフォーム",{"href":711,"dataGaName":1188,"dataGaLocation":1121},"devsecops platform",{"text":1190,"config":1191},"AI支援開発",{"href":718,"dataGaName":1192,"dataGaLocation":1121},"ai-assisted development",[1194],{"title":1195,"links":1196},"トピック",[1197,1201,1206,1211,1216,1221,1226,1231],{"text":30,"config":1198},{"href":1199,"dataGaName":1200,"dataGaLocation":1121},"/ja-jp/topics/ci-cd/","cicd",{"text":1202,"config":1203},"GitOps",{"href":1204,"dataGaName":1205,"dataGaLocation":1121},"/ja-jp/topics/gitops/","gitops",{"text":1207,"config":1208},"DevOps",{"href":1209,"dataGaName":1210,"dataGaLocation":1121},"/ja-jp/topics/devops/","devops",{"text":1212,"config":1213},"バージョン管理",{"href":1214,"dataGaName":1215,"dataGaLocation":1121},"/ja-jp/topics/version-control/","version control",{"text":1217,"config":1218},"DevSecOps",{"href":1219,"dataGaName":1220,"dataGaLocation":1121},"/ja-jp/topics/devsecops/","devsecops",{"text":1222,"config":1223},"クラウドネイティブ",{"href":1224,"dataGaName":1225,"dataGaLocation":1121},"/ja-jp/topics/cloud-native/","cloud native",{"text":1227,"config":1228},"コーディングのためのAI",{"href":1229,"dataGaName":1230,"dataGaLocation":1121},"/ja-jp/topics/devops/ai-for-coding/","ai for coding",{"text":1232,"config":1233},"エージェント型AI",{"href":1234,"dataGaName":1235,"dataGaLocation":1121},"/ja-jp/topics/agentic-ai/","agentic ai",{"title":1237,"links":1238},"ソリューション",[1239,1242,1244,1249,1253,1256,1259,1262,1264,1266,1269,1274],{"text":773,"config":1240},{"href":768,"dataGaName":1241,"dataGaLocation":1121},"Application Security Testing",{"text":760,"config":1243},{"href":745,"dataGaName":746,"dataGaLocation":1121},{"text":1245,"config":1246},"アジャイル開発",{"href":1247,"dataGaName":1248,"dataGaLocation":1121},"/ja-jp/solutions/agile-delivery/","agile delivery",{"text":1250,"config":1251},"SCM",{"href":757,"dataGaName":1252,"dataGaLocation":1121},"source code management",{"text":30,"config":1254},{"href":750,"dataGaName":1255,"dataGaLocation":1121},"continuous integration & delivery",{"text":799,"config":1257},{"href":801,"dataGaName":1258,"dataGaLocation":1121},"value stream management",{"text":1202,"config":1260},{"href":1261,"dataGaName":1205,"dataGaLocation":1121},"/ja-jp/solutions/gitops/",{"text":812,"config":1263},{"href":815,"dataGaName":816,"dataGaLocation":1121},{"text":818,"config":1265},{"href":821,"dataGaName":822,"dataGaLocation":1121},{"text":1267,"config":1268},"公共機関",{"href":827,"dataGaName":828,"dataGaLocation":1121},{"text":1270,"config":1271},"教育",{"href":1272,"dataGaName":1273,"dataGaLocation":1121},"/ja-jp/solutions/education/","education",{"text":1275,"config":1276},"金融サービス",{"href":1277,"dataGaName":1278,"dataGaLocation":1121},"/ja-jp/solutions/finance/","financial services",{"title":1280,"links":1281},"リソース",[1282,1284,1286,1288,1292,1294,1297,1299,1301,1303,1305,1307,1309,1311],{"text":848,"config":1283},{"href":850,"dataGaName":851,"dataGaLocation":1121},{"text":853,"config":1285},{"href":855,"dataGaName":856,"dataGaLocation":1121},{"text":858,"config":1287},{"href":860,"dataGaName":861,"dataGaLocation":1121},{"text":863,"config":1289},{"href":1290,"dataGaName":1291,"dataGaLocation":1121},"https://docs.gitlab.com/ja-jp","docs",{"text":886,"config":1293},{"href":888,"dataGaName":889,"dataGaLocation":1121},{"text":1295,"config":1296},"最新リリース",{"href":945,"dataGaName":946,"dataGaLocation":1121},{"text":881,"config":1298},{"href":883,"dataGaName":884,"dataGaLocation":1121},{"text":900,"config":1300},{"href":902,"dataGaName":903,"dataGaLocation":1121},{"text":908,"config":1302},{"href":910,"dataGaName":307,"dataGaLocation":1121},{"text":912,"config":1304},{"href":914,"dataGaName":915,"dataGaLocation":1121},{"text":917,"config":1306},{"href":919,"dataGaName":920,"dataGaLocation":1121},{"text":922,"config":1308},{"href":924,"dataGaName":925,"dataGaLocation":1121},{"text":927,"config":1310},{"href":929,"dataGaName":930,"dataGaLocation":1121},{"text":932,"config":1312},{"href":934,"dataGaName":935,"dataGaLocation":1121},{"title":1314,"links":1315},"会社情報",[1316,1318,1320,1322,1324,1326,1330,1335,1337,1339,1341],{"text":956,"config":1317},{"href":958,"dataGaName":950,"dataGaLocation":1121},{"text":961,"config":1319},{"href":963,"dataGaName":964,"dataGaLocation":1121},{"text":969,"config":1321},{"href":971,"dataGaName":972,"dataGaLocation":1121},{"text":974,"config":1323},{"href":976,"dataGaName":977,"dataGaLocation":1121},{"text":979,"config":1325},{"href":981,"dataGaName":982,"dataGaLocation":1121},{"text":1327,"config":1328},"Sustainability",{"href":1329,"dataGaName":1327,"dataGaLocation":1121},"/sustainability/",{"text":1331,"config":1332},"ダイバーシティ、インクルージョン、ビロンギング（DIB）",{"href":1333,"dataGaName":1334,"dataGaLocation":1121},"/ja-jp/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":984,"config":1336},{"href":986,"dataGaName":987,"dataGaLocation":1121},{"text":994,"config":1338},{"href":996,"dataGaName":997,"dataGaLocation":1121},{"text":999,"config":1340},{"href":1001,"dataGaName":1002,"dataGaLocation":1121},{"text":1342,"config":1343},"現代奴隷制の透明性に関する声明",{"href":1344,"dataGaName":1345,"dataGaLocation":1121},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":1347},[1348,1350,1353],{"text":1169,"config":1349},{"href":1171,"dataGaName":1172,"dataGaLocation":1121},{"text":1351,"config":1352},"Cookieの設定",{"dataGaName":1181,"dataGaLocation":1121,"id":1182,"isOneTrustButton":323},{"text":1174,"config":1354},{"href":1176,"dataGaName":1177,"dataGaLocation":1121},[1356],{"id":1357,"title":7,"body":657,"config":1358,"content":1360,"description":657,"extension":1364,"meta":1365,"navigation":323,"path":1366,"seo":1367,"stem":1368,"__hash__":1369},"blogAuthors/en-us/blog/authors/tim-rizzi.yml",{"template":1359},"BlogAuthor",{"name":7,"config":1361},{"headshot":1362,"ctfId":1363},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749661866/Blog/Author%20Headshots/trizzi-headshot.jpg","trizzi","yml",{},"/en-us/blog/authors/tim-rizzi",{},"en-us/blog/authors/tim-rizzi","ADPqrpcnKveFJS0m_zFV0VLtb_h_txu59QVgz_YwKMc",[1371,1378,1385],{"title":1372,"description":1372,"heroImage":1373,"category":653,"date":1374,"authors":1375,"slug":1377,"externalUrl":657},"MCPサーバーとは？仕組みやソフトウェア開発の活用例をわかりやすく解説","https://res.cloudinary.com/about-gitlab-com/image/upload/v1786001428/qedvughylmeposoqm5zs.jpg","2026-08-07",[1376],"GitLab Team","what-is-mcp-server",{"title":1379,"description":1380,"heroImage":1381,"category":653,"date":1382,"authors":1383,"slug":1384,"externalUrl":657},"イテレーションとは？意味や進め方、おすすめの支援ツールを紹介","イテレーションとは、アジャイル開発における「反復」を意味する開発単位です。本記事では、イテレーションの意味やスプリントとの違い、具体的な進め方、成功のポイントをわかりやすく解説します。アジャイル開発を支援するツールもあわせて紹介します。","https://res.cloudinary.com/about-gitlab-com/image/upload/v1785816755/mj23yaguu0gxvbztd6pl.jpg","2026-08-06",[1376],"what-is-iteration",{"title":1386,"description":1387,"heroImage":1388,"category":653,"date":1382,"authors":1389,"slug":1392,"externalUrl":657},"GitLab Self-Hostedで実現するコンフィデンシャルAI","ソースコードをハードウェアで暗号化された境界の外に出すことなく、GitLab DuoのAIコーディングエージェントを開発者に提供します。GPUは不要です。","https://res.cloudinary.com/about-gitlab-com/image/upload/v1773866173/vte9qh8rriznvyclhkes.png",[1390,1391],"Mathias Ewald","Martin Paloncy, Edgeless Systems","confidential-ai-for-gitlab-self-hosted",{"promotions":1394},[1395,1409,1420,1432],{"id":1396,"categories":1397,"header":1399,"text":1400,"button":1401,"image":1406},"ai-modernization",[1398],"ai","AIの真価、組織全体で発揮できていますか？","所要時間は5分以内です",{"text":1402,"config":1403},"AI成熟度スコアを確認する",{"href":1404,"dataGaName":1405,"dataGaLocation":889},"/ja-jp/assessments/ai-modernization-assessment/","modernization assessment",{"config":1407},{"src":1408},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/qix0m7kwnd8x2fh1zq49.png",{"id":1410,"categories":1411,"header":1412,"text":1400,"button":1413,"image":1417},"devops-modernization",[672,1220],"単にツールを管理するだけでなく、イノベーションを提供していますか？",{"text":1414,"config":1415},"DevOps成熟度スコアを確認しましょう",{"href":1416,"dataGaName":1405,"dataGaLocation":889},"/ja-jp/assessments/devops-modernization-assessment/",{"config":1418},{"src":1419},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138785/eg818fmakweyuznttgid.png",{"id":1421,"categories":1422,"header":1424,"text":1400,"button":1425,"image":1429},"security-modernization",[1423],"security","スピードのためにセキュリティを犠牲にしていませんか？",{"text":1426,"config":1427},"セキュリティ成熟度スコアを確認しましょう",{"href":1428,"dataGaName":1405,"dataGaLocation":889},"/ja-jp/assessments/security-modernization-assessment/",{"config":1430},{"src":1431},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/p4pbqd9nnjejg5ds6mdk.png",{"id":1433,"paths":1434,"header":1437,"text":1438,"button":1439,"image":1444},"github-azure-migration",[1435,1436],"migration-from-azure-devops-to-gitlab","integrating-azure-devops-scm-and-gitlab","チームはGitHubのAzure移行に対応できていますか？","GitHubはすでにAzureを基盤として再構築を進めています。それがあなたのチームにとって何を意味するのか、ご確認ください。",{"text":1440,"config":1441},"GitLabとGitHubの比較を見る",{"href":1442,"dataGaName":1443,"dataGaLocation":889},"/ja-jp/compare/gitlab-vs-github/github-azure-migration/","github azure migration",{"config":1445},{"src":1419},{"header":1447,"blurb":1448,"button":1449,"secondaryButton":1453},"今すぐ開発をスピードアップ","DevSecOpsに特化したインテリジェントオーケストレーションプラットフォームで実現できることをご確認ください。\n",{"text":684,"config":1450},{"href":1451,"dataGaName":687,"dataGaLocation":1452},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/ja-jp/","feature",{"text":1004,"config":1454},{"href":1013,"dataGaName":692,"dataGaLocation":1452},1786803769274]