[{"data":1,"prerenderedAt":811},["ShallowReactive",2],{"/ja-jp/blog/prepare-now-docker-hub-rate-limits-will-impact-gitlab-ci-cd":3,"navigation-ja-jp":40,"banner-ja-jp":450,"footer-ja-jp":460,"blog-post-authors-ja-jp-Tim Rizzi":695,"blog-related-posts-ja-jp-prepare-now-docker-hub-rate-limits-will-impact-gitlab-ci-cd":709,"blog-promotions-ja-jp":750,"next-steps-ja-jp":802},{"id":4,"title":5,"authorSlugs":6,"body":8,"categorySlug":9,"config":10,"content":14,"description":8,"extension":27,"isFeatured":12,"meta":28,"navigation":12,"path":29,"publishedDate":20,"seo":30,"stem":35,"tagSlugs":36,"__hash__":39},"blogPosts/ja-jp/blog/prepare-now-docker-hub-rate-limits-will-impact-gitlab-ci-cd.yml","Prepare Now Docker Hub Rate Limits Will Impact Gitlab Ci Cd",[7],"tim-rizzi",null,"bulletin-board",{"slug":11,"featured":12,"template":13},"prepare-now-docker-hub-rate-limits-will-impact-gitlab-ci-cd",true,"BlogPost",{"title":15,"description":16,"authors":17,"heroImage":19,"date":20,"body":21,"category":9,"tags":22,"updatedDate":26},"今すぐ対策を：Docker Hubのレート制限がGitLab CI/CDに与える影響","Docker Hubの新しいプルレート制限がGitLabのパイプラインにどのような影響を与えるか、また、その影響によってCI/CDパイプラインが中断されるのを防ぐ対策を解説します。",[18],"Tim Rizzi","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749662488/Blog/Hero%20Images/blog-image-template-1800x945__3_.png","2025-03-24","2025年4月1日より、DockerはDocker\nHubに新たな[プルレート制限](https://docs.docker.com/docker-hub/usage/)を導入します。これは、GitLabで稼働しているものを含め、業界全体のCI/CDパイプラインに大きな影響を及ぼす可能性があります。最も大きな変更点は、未認証ユーザーに対して1時間あたり10回までというプル制限が設けられることです。\n\n## 変更点\n\n4月1日から、Dockerは以下のプルレート制限を適用します。\n\n| ユーザータイプ | 1時間あたりのプルレート制限 | パブリックリポジトリ数 | プライベートリポジトリ数 |\n|-----------|--------------------------|-------------------------------|--------------------------------|\n| Business、Team、Pro（認証済） | 無制限（フェアユース） | 無制限 | 無制限 |\n| Personal（認証済） | 100 | 無制限 | 最大1つ |\n| 未認証ユーザー | IPv4アドレスまたはIPv6/64サブネットごとに1時間あたり10回 | 該当なし | 該当なし |\n\n\u003Cp>\u003C/p>\n\nこの変更が重要な理由は以下のとおりです。\n\n* GitLabの依存プロキシは現在、未認証ユーザーとしてDocker Hubからプルしています。\n\n* 依存プロキシを使用していないほとんどのCI/CDパイプラインは、未認証ユーザーとしてDocker Hubから直接プルしています。\n\n* GitLab.comのホステッドランナーでは、複数のユーザーが同じIPアドレスやサブネットを共有することがあり、全体がこの制限の対象になります。\n\n## GitLabユーザーへの影響\n\n**Docker Hubからの直接プルに関する影響**\n\nCI/CDパイプラインがDocker\nHubから認証なしで直接イメージをプルしている場合、IPアドレスごとに1時間あたり10回の制限が適用されます。頻繁に実行されるパイプラインや、同じランナーインフラを共有している複数プロジェクトでは、この制限にすぐに達してしまい、パイプラインの失敗が発生する可能性があります。\n\n**GitLab依存プロキシへの影響**\n\nGitLabの依存プロキシ機能は、DockerイメージをGitLab内にキャッシュすることでパイプラインの高速化や外部依存関係の削減を実現します。ただし、現在の実装では未認証ユーザーとしてDocker\nHubからプルしているため、これも1時間あたり10回という制限の対象になります。\n\n**ホステッドランナーへの影響**\n\nGitLab.comのホステッドランナーでは、[Google\nCloudのプルスルーキャッシュ](https://cloud.google.com/artifact-registry/docs/pull-cached-dockerhub-images?hl=ja)を使用しています。これにより、よく使われるイメージがミラーされ、レート制限を回避できます。`.gitlab-ci.yml`ファイル内で`image:`または`services:`として定義されたジョブイメージは、レート制限の影響を受けません。\n\n一方で、ランナー環境内でイメージをプルするケースではやや複雑になります。ランナー実行中にイメージをプルする最も一般的なユースケースは、Docker-in-DockerやKanikoを使ってイメージをビルドする場合です。このシナリオでは、`Dockerfile`で指定されたDocker\nHubのイメージが直接プルされるため、レート制限の影響を受ける可能性があります。\n\n## GitLabの対応\n\nこの問題を緩和するため、GitLabでは以下の対応を進めています。\n\n* **依存プロキシの認証：**\nGitLabの[依存プロキシ機能](https://gitlab.com/gitlab-org/gitlab/-/issues/331741)にDocker\nHubの認証のサポートを追加しました。これにより、依存プロキシは認証済みユーザーとしてDocker\nHubからイメージをプルできるようになり、レート制限が大幅に緩和されます。\n\n* **ドキュメントの更新：** Docker\nHubのパイプライン認証の設定に関する明確なガイダンスを提供するために、[ドキュメント](https://docs.gitlab.com/ja-jp/user/packages/dependency_proxy/#configure-credentials)を更新しました。\n\n* **内部インフラの整備：** GitLab.comのホステッドランナーへの影響を最小限にするため、内部インフラを整備中です。\n\n## ユーザー側でできる対策\n\n**オプション1：パイプラインでDocker Hub認証を設定する**\n\nDocker\nHubから直接プルしているパイプラインでは、認証を設定することでレート制限を1時間あたり100回（または有料プランなら無制限）まで増やせます。\n\nDocker\nHubの認証情報をプロジェクトまたはグループのCI/CD変数に追加してください（`.gitlab-ci.yml`には追加しないでください）。`DOCKER_AUTH_CONFIG`\nCI/CD変数の正しい設定方法については、[Dockerイメージの使用に関するドキュメント](https://docs.gitlab.com/ja-jp/ci/docker/using_docker_images/#use-statically-defined-credentials)を参照してください。\n\n**オプション2：GitLabのコンテナレジストリを使用する**\n\n頻繁に使用するDockerイメージを[GitLabのコンテナレジストリ](https://docs.gitlab.com/ja-jp/user/packages/container_registry/)にプッシュすることで、CI/CDの実行中にDocker\nHubからプルする必要がなくなります。\n\n1. Docker Hubからイメージをプルします\n\n2. GitLabコンテナレジストリにタグ付けします\n\n3. GitLabコンテナレジストリにプッシュします\n\n4. パイプラインをGitLabコンテナレジストリからプルするよう更新します\n\n```shell\n\ndocker pull busybox:latest\n\ndocker tag busybox:latest $CI_REGISTRY_IMAGE/busybox:latest\n\ndocker push $CI_REGISTRY_IMAGE/busybox:latest\n\n```\n\nそれから、`.gitlab-ci.yml`で以下のように記述します。 `image: $CI_REGISTRY_IMAGE/busybox:latest`\n\n**オプション3：GitLabの依存プロキシを使用する**\n\nGitLabの依存プロキシ機能を使うことで、Dockerイメージをキャッシュしてプロキシ経由で取得できるため、外部依存関係を減らし、レート制限の問題を軽減できます。\n\n現在の認証オプションは以下のとおりです。\n\n* GitLab 17.10：[GraphQL\nAPI](https://docs.gitlab.com/ja-jp/user/packages/dependency_proxy/#configure-credentials-using-the-graphql-api)を使って、依存プロキシ用のDocker\nHub認証を設定\n\n* GitLab 17.11：グループ設定に新しく追加されたUIベースの設定を使用（GitLab.comでは既に利用可能）\n\n認証が正しく設定されると、以下の操作が可能になります。\n\n1. グループの依存プロキシ設定でDocker Hubの認証情報を設定する\n  - GitLab 17.11以降（またはGitLab.com）：グループ設定 > パッケージとレジストリ > 依存プロキシで設定\n  - GitLab 17.10：GraphQL APIで認証を設定\n2. CI/CD設定で依存プロキシURLを使用するよう、パイプラインを更新する\u003Cbr>\n\n`image: ${CI_DEPENDENCY_PROXY_GROUP_IMAGE_PREFIX}/busybox:latest`\n\n**オプション4：Docker Hubの有料プランを検討する**\n\nDocker\nHubの利用が多い組織の場合は、プル回数が無制限の有料Dockerサブスクリプション（TeamまたはBusiness）へのアップグレードが最も簡単な解決策となる場合があります。\n\n## Docker Hubのレート制限による影響を減らすベストプラクティス\n\nどのオプションを選ぶ場合でも、Docker Hubのレート制限の影響を最小限に抑えるために、以下のベストプラクティスを参考にしてください。\n\n* `latest`タグではなく、特定のバージョンタグを使用して不要なプルを避ける\n\n* Dockerファイルを統合し、同じベースイメージを複数のプロジェクトで使い回す\n\n* あまり重要でないパイプラインは、ピーク時間を避けて実行するようスケジュールする\n\n* キャッシュを有効活用し、同じイメージを繰り返しプルするのを避ける\n\n**注：** Docker\nHubの[ドキュメント](https://docs.docker.com/docker-hub/usage/pulls/#pull-definition)によると、プル回数はイメージのサイズやレイヤー数ではなく、manifestを取得した時点で1回とカウントされます。\n\n## スケジュールと今後の流れ\n\n**現在**\n  * Docker Hubからの直接プルに認証を実装します\n* GitLab.comユーザーは以下のいずれかで依存プロキシ認証を設定できます\n    * GraphQL API\n    * グループ設定のUI\n  * Self-ManagedのGitLab 17.10ユーザーはGraphQL APIを使用して依存プロキシ認証を設定できます\n\n**2025年4月1日**\n  * Docker Hubのレート制限が始まります\n\n**2025年4月17日**\n  * Self-Managedインスタンス向けの依存プロキシ認証機能をUIに追加したGitLab 17.11がリリースされます\n\nパイプラインの予期せぬ失敗を回避するために、可能な限り速やかに対応することをおすすめします。多くのユーザーにとっては、Docker\nHub認証を使用して依存プロキシを設定することが最も効率的な長期的解決策となります。\n\n>\nご質問がある場合や、実装に関してサポートが必要な場合は、[こちらのイシュー](https://gitlab.com/gitlab-org/gitlab/-/issues/526605)をご覧ください。GitLabのチームによる対応が確認できます。\n\n\u003Cbr>\u003Cbr>\n\n*監修：川瀬 洋平 [@ykawase](https://gitlab.com/ykawase)\n\n（GitLab合同会社 カスタマーサクセス本部 シニアカスタマーサクセスマネージャー）*\n",[23,24,25],"CI/CD","news","DevSecOps platform","2025-03-31","yml",{},"/ja-jp/blog/prepare-now-docker-hub-rate-limits-will-impact-gitlab-ci-cd",{"title":15,"description":16,"ogTitle":15,"ogDescription":16,"noIndex":31,"ogImage":19,"ogUrl":32,"ogSiteName":33,"ogType":34,"canonicalUrls":32},false,"https://about.gitlab.com/blog/prepare-now-docker-hub-rate-limits-will-impact-gitlab-ci-cd","https://about.gitlab.com","article","ja-jp/blog/prepare-now-docker-hub-rate-limits-will-impact-gitlab-ci-cd",[37,24,38],"cicd","devsecops-platform","bO8fScafv7DOJt7CLIHdjKbYGUis8jwYBqb1htFeKpk",{"data":41},{"logo":42,"freeTrial":47,"sales":52,"login":57,"items":62,"search":370,"minimal":403,"duo":420,"switchNav":429,"pricingDeployment":440},{"config":43},{"href":44,"dataGaName":45,"dataGaLocation":46},"/ja-jp/","gitlab logo","header",{"text":48,"config":49},"無料トライアルを開始",{"href":50,"dataGaName":51,"dataGaLocation":46},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/ja-jp&glm_content=default-saas-trial/","free trial",{"text":53,"config":54},"お問い合わせ",{"href":55,"dataGaName":56,"dataGaLocation":46},"/ja-jp/sales/","sales",{"text":58,"config":59},"サインイン",{"href":60,"dataGaName":61,"dataGaLocation":46},"https://gitlab.com/users/sign_in/","sign in",[63,90,186,191,292,352],{"text":64,"config":65,"cards":67},"プラットフォーム",{"dataNavLevelOne":66},"platform",[68,74,82],{"title":64,"description":69,"link":70},"DevSecOpsに特化したインテリジェントオーケストレーションプラットフォーム",{"text":71,"config":72},"プラットフォームを探索",{"href":73,"dataGaName":66,"dataGaLocation":46},"/ja-jp/platform/",{"title":75,"description":76,"link":77},"GitLab Duo Agent Platform","ソフトウェアライフサイクル全体を支えるエージェント型AI",{"text":78,"config":79},"GitLab Duoのご紹介",{"href":80,"dataGaName":81,"dataGaLocation":46},"/ja-jp/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":83,"description":84,"link":85},"GitLabが選ばれる理由","エンタープライズがGitLabを選ぶ主な理由をご覧ください",{"text":86,"config":87},"詳細はこちら",{"href":88,"dataGaName":89,"dataGaLocation":46},"/ja-jp/why-gitlab/","why gitlab",{"text":91,"left":12,"config":92,"link":94,"lists":98,"footer":168},"製品",{"dataNavLevelOne":93},"solutions",{"text":95,"config":96},"すべてのソリューションを表示",{"href":97,"dataGaName":93,"dataGaLocation":46},"/ja-jp/solutions/",[99,123,146],{"title":100,"description":101,"link":102,"items":107},"自動化","CI/CDと自動化でデプロイを加速",{"config":103},{"icon":104,"href":105,"dataGaName":106,"dataGaLocation":46},"AutomatedCodeAlt","/ja-jp/solutions/delivery-automation/","automated software delivery",[108,111,114,119],{"text":23,"config":109},{"href":110,"dataGaLocation":46,"dataGaName":23},"/ja-jp/solutions/continuous-integration/",{"text":75,"config":112},{"href":80,"dataGaLocation":46,"dataGaName":113},"gitlab duo agent platform - product menu",{"text":115,"config":116},"ソースコード管理",{"href":117,"dataGaLocation":46,"dataGaName":118},"/ja-jp/solutions/source-code-management/","Source Code Management",{"text":120,"config":121},"自動化されたソフトウェアデリバリー",{"href":105,"dataGaLocation":46,"dataGaName":122},"Automated software delivery",{"title":124,"description":125,"link":126,"items":131},"セキュリティ","セキュリティを犠牲にすることなくコード作成を高速化",{"config":127},{"href":128,"dataGaName":129,"dataGaLocation":46,"icon":130},"/ja-jp/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[132,136,141],{"text":133,"config":134},"アプリケーションセキュリティテスト",{"href":128,"dataGaName":135,"dataGaLocation":46},"Application security testing",{"text":137,"config":138},"ソフトウェアサプライチェーンの安全性",{"href":139,"dataGaLocation":46,"dataGaName":140},"/ja-jp/solutions/supply-chain/","Software supply chain security",{"text":142,"config":143},"ソフトウェアコンプライアンス",{"href":144,"dataGaName":145,"dataGaLocation":46},"/ja-jp/solutions/software-compliance/","software compliance",{"title":147,"link":148,"items":153},"測定",{"config":149},{"icon":150,"href":151,"dataGaName":152,"dataGaLocation":46},"DigitalTransformation","/ja-jp/solutions/visibility-measurement/","visibility and measurement",[154,158,163],{"text":155,"config":156},"可視性と測定",{"href":151,"dataGaLocation":46,"dataGaName":157},"Visibility and Measurement",{"text":159,"config":160},"バリューストリーム管理",{"href":161,"dataGaLocation":46,"dataGaName":162},"/ja-jp/solutions/value-stream-management/","Value Stream Management",{"text":164,"config":165},"分析とインサイト",{"href":166,"dataGaLocation":46,"dataGaName":167},"/ja-jp/solutions/analytics-and-insights/","Analytics and insights",{"title":169,"items":170},"GitLabが活躍する場所",[171,176,181],{"text":172,"config":173},"大企業",{"href":174,"dataGaLocation":46,"dataGaName":175},"/ja-jp/enterprise/","enterprise",{"text":177,"config":178},"スモールビジネス",{"href":179,"dataGaLocation":46,"dataGaName":180},"/ja-jp/small-business/","small business",{"text":182,"config":183},"公共部門",{"href":184,"dataGaLocation":46,"dataGaName":185},"/ja-jp/solutions/public-sector/","public sector",{"text":187,"config":188},"価格",{"href":189,"dataGaName":190,"dataGaLocation":46,"dataNavLevelOne":190},"/ja-jp/pricing/","pricing",{"text":192,"config":193,"link":195,"lists":199,"feature":279},"リソース",{"dataNavLevelOne":194},"resources",{"text":196,"config":197},"すべてのリソースを表示",{"href":198,"dataGaName":194,"dataGaLocation":46},"/ja-jp/resources/",[200,233,251],{"title":201,"items":202},"はじめに",[203,208,213,218,223,228],{"text":204,"config":205},"インストール",{"href":206,"dataGaName":207,"dataGaLocation":46},"/ja-jp/install/","install",{"text":209,"config":210},"クイックスタートガイド",{"href":211,"dataGaName":212,"dataGaLocation":46},"/ja-jp/get-started/","quick setup checklists",{"text":214,"config":215},"学ぶ",{"href":216,"dataGaLocation":46,"dataGaName":217},"https://university.gitlab.com/","learn",{"text":219,"config":220},"製品ドキュメント",{"href":221,"dataGaName":222,"dataGaLocation":46},"https://docs.gitlab.com/ja-jp/","product documentation",{"text":224,"config":225},"ベストプラクティスビデオ",{"href":226,"dataGaName":227,"dataGaLocation":46},"/ja-jp/getting-started-videos/","best practice videos",{"text":229,"config":230},"インテグレーション",{"href":231,"dataGaName":232,"dataGaLocation":46},"/ja-jp/integrations/","integrations",{"title":234,"items":235},"検索する",[236,241,246],{"text":237,"config":238},"お客様成功事例",{"href":239,"dataGaName":240,"dataGaLocation":46},"/ja-jp/customers/","customer success stories",{"text":242,"config":243},"ブログ",{"href":244,"dataGaName":245,"dataGaLocation":46},"/ja-jp/blog/","blog",{"text":247,"config":248},"リモート",{"href":249,"dataGaName":250,"dataGaLocation":46},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":252,"items":253},"つなげる",[254,259,264,269,274],{"text":255,"config":256},"GitLabサービス",{"href":257,"dataGaName":258,"dataGaLocation":46},"/ja-jp/services/","services",{"text":260,"config":261},"コミュニティ",{"href":262,"dataGaName":263,"dataGaLocation":46},"/community/","community",{"text":265,"config":266},"フォーラム",{"href":267,"dataGaName":268,"dataGaLocation":46},"https://forum.gitlab.com/","forum",{"text":270,"config":271},"イベント",{"href":272,"dataGaName":273,"dataGaLocation":46},"/events/","events",{"text":275,"config":276},"パートナー",{"href":277,"dataGaName":278,"dataGaLocation":46},"/ja-jp/partners/","partners",{"backgroundColor":280,"textColor":281,"text":282,"image":283,"link":287},"#2f2a6b","#fff","ソフトウェア開発の未来への洞察",{"altText":284,"config":285},"ソースプロモカード",{"src":286},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758208064/dzl0dbift9xdizyelkk4.svg",{"text":288,"config":289},"最新情報を読む",{"href":290,"dataGaName":291,"dataGaLocation":46},"/ja-jp/the-source/","the source",{"text":293,"config":294,"lists":296},"会社情報",{"dataNavLevelOne":295},"company",[297],{"items":298},[299,304,310,312,317,322,327,332,337,342,347],{"text":300,"config":301},"GitLabについて",{"href":302,"dataGaName":303,"dataGaLocation":46},"/ja-jp/company/","about",{"text":305,"config":306,"footerGa":309},"採用情報",{"href":307,"dataGaName":308,"dataGaLocation":46},"/jobs/","jobs",{"dataGaName":308},{"text":270,"config":311},{"href":272,"dataGaName":273,"dataGaLocation":46},{"text":313,"config":314},"経営陣",{"href":315,"dataGaName":316,"dataGaLocation":46},"/company/team/e-group/","leadership",{"text":318,"config":319},"チーム",{"href":320,"dataGaName":321,"dataGaLocation":46},"/company/team/","team",{"text":323,"config":324},"ハンドブック",{"href":325,"dataGaName":326,"dataGaLocation":46},"https://handbook.gitlab.com/","handbook",{"text":328,"config":329},"投資家向け情報",{"href":330,"dataGaName":331,"dataGaLocation":46},"https://ir.gitlab.com/","investor relations",{"text":333,"config":334},"トラストセンター",{"href":335,"dataGaName":336,"dataGaLocation":46},"/ja-jp/security/","trust center",{"text":338,"config":339},"AI Transparency Center",{"href":340,"dataGaName":341,"dataGaLocation":46},"/ja-jp/ai-transparency-center/","ai transparency center",{"text":343,"config":344},"ニュースレター",{"href":345,"dataGaName":346,"dataGaLocation":46},"/company/contact/#contact-forms","newsletter",{"text":348,"config":349},"プレス",{"href":350,"dataGaName":351,"dataGaLocation":46},"/press/","press",{"text":53,"config":353,"lists":354},{"dataNavLevelOne":295},[355],{"items":356},[357,360,365],{"text":53,"config":358},{"href":55,"dataGaName":359,"dataGaLocation":46},"talk to sales",{"text":361,"config":362},"サポートを受ける",{"href":363,"dataGaName":364,"dataGaLocation":46},"https://support.gitlab.com","support portal",{"text":366,"config":367},"カスタマーポータル",{"href":368,"dataGaName":369,"dataGaLocation":46},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":371,"login":372,"suggestions":379},"閉じる",{"text":373,"link":374},"リポジトリとプロジェクトを検索するには、次にログインします",{"text":375,"config":376},"GitLab.com",{"href":60,"dataGaName":377,"dataGaLocation":378},"search login","search",{"text":380,"default":381},"提案",[382,384,389,391,395,399],{"text":75,"config":383},{"href":80,"dataGaName":75,"dataGaLocation":378},{"text":385,"config":386},"コード提案（AI）",{"href":387,"dataGaName":388,"dataGaLocation":378},"/ja-jp/solutions/code-suggestions/","Code Suggestions (AI)",{"text":23,"config":390},{"href":110,"dataGaName":23,"dataGaLocation":378},{"text":392,"config":393},"GitLab on AWS",{"href":394,"dataGaName":392,"dataGaLocation":378},"/ja-jp/partners/technology-partners/aws/",{"text":396,"config":397},"GitLab on Google Cloud",{"href":398,"dataGaName":396,"dataGaLocation":378},"/ja-jp/partners/technology-partners/google-cloud-platform/",{"text":400,"config":401},"GitLabを選ぶ理由",{"href":88,"dataGaName":402,"dataGaLocation":378},"Why GitLab?",{"freeTrial":404,"mobileIcon":408,"desktopIcon":413,"secondaryButton":416},{"text":48,"config":405},{"href":406,"dataGaName":51,"dataGaLocation":407},"https://gitlab.com/-/trials/new/","nav",{"altText":409,"config":410},"GitLabアイコン",{"src":411,"dataGaName":412,"dataGaLocation":407},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":409,"config":414},{"src":415,"dataGaName":412,"dataGaLocation":407},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":201,"config":417},{"href":418,"dataGaName":419,"dataGaLocation":407},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/ja-jp/get-started/","get started",{"freeTrial":421,"mobileIcon":425,"desktopIcon":427},{"text":422,"config":423},"GitLab Duoの詳細について",{"href":80,"dataGaName":424,"dataGaLocation":407},"gitlab duo",{"altText":409,"config":426},{"src":411,"dataGaName":412,"dataGaLocation":407},{"altText":409,"config":428},{"src":415,"dataGaName":412,"dataGaLocation":407},{"button":430,"mobileIcon":435,"desktopIcon":437},{"text":431,"config":432},"/switch",{"href":433,"dataGaName":434,"dataGaLocation":407},"#contact","switch",{"altText":409,"config":436},{"src":411,"dataGaName":412,"dataGaLocation":407},{"altText":409,"config":438},{"src":439,"dataGaName":412,"dataGaLocation":407},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":441,"mobileIcon":446,"desktopIcon":448},{"text":442,"config":443},"料金ページに戻る",{"href":189,"dataGaName":444,"dataGaLocation":407,"icon":445},"back to pricing","GoBack",{"altText":409,"config":447},{"src":411,"dataGaName":412,"dataGaLocation":407},{"altText":409,"config":449},{"src":415,"dataGaName":412,"dataGaLocation":407},{"title":451,"button":452,"config":457},"エージェント型AIがソフトウェア配信をどのように変革するかをご覧ください",{"text":453,"config":454},"GitLab Transcendを今すぐ視聴",{"href":455,"dataGaName":456,"dataGaLocation":46},"/ja-jp/events/transcend/virtual/","transcend event",{"layout":458,"icon":459,"disabled":12},"release","AiStar",{"data":461},{"text":462,"source":463,"edit":469,"contribute":474,"config":479,"items":484,"minimal":686},"GitはSoftware Freedom Conservancyの商標です。当社は「GitLab」をライセンスに基づいて使用しています",{"text":464,"config":465},"ページのソースを表示",{"href":466,"dataGaName":467,"dataGaLocation":468},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":470,"config":471},"このページを編集",{"href":472,"dataGaName":473,"dataGaLocation":468},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":475,"config":476},"ご協力をお願いします",{"href":477,"dataGaName":478,"dataGaLocation":468},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":480,"facebook":481,"youtube":482,"linkedin":483},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[485,530,582,625,652],{"title":187,"links":486,"subMenu":501},[487,491,496],{"text":488,"config":489},"プランの表示",{"href":189,"dataGaName":490,"dataGaLocation":468},"view plans",{"text":492,"config":493},"Premiumを選ぶ理由",{"href":494,"dataGaName":495,"dataGaLocation":468},"/ja-jp/pricing/premium/","why premium",{"text":497,"config":498},"Ultimateを選ぶ理由",{"href":499,"dataGaName":500,"dataGaLocation":468},"/ja-jp/pricing/ultimate/","why ultimate",[502],{"title":53,"links":503},[504,506,508,510,515,520,525],{"text":53,"config":505},{"href":55,"dataGaName":56,"dataGaLocation":468},{"text":361,"config":507},{"href":363,"dataGaName":364,"dataGaLocation":468},{"text":366,"config":509},{"href":368,"dataGaName":369,"dataGaLocation":468},{"text":511,"config":512},"ステータス",{"href":513,"dataGaName":514,"dataGaLocation":468},"https://status.gitlab.com/","status",{"text":516,"config":517},"利用規約",{"href":518,"dataGaName":519,"dataGaLocation":468},"/terms/","terms of use",{"text":521,"config":522},"プライバシーに関する声明",{"href":523,"dataGaName":524,"dataGaLocation":468},"/ja-jp/privacy/","privacy statement",{"text":526,"config":527},"Cookie 優先設定",{"dataGaName":528,"dataGaLocation":468,"id":529,"isOneTrustButton":12},"cookie preferences","ot-sdk-btn",{"title":91,"links":531,"subMenu":540},[532,536],{"text":533,"config":534},"DevSecOpsプラットフォーム",{"href":73,"dataGaName":535,"dataGaLocation":468},"devsecops platform",{"text":537,"config":538},"AI支援開発",{"href":80,"dataGaName":539,"dataGaLocation":468},"ai-assisted development",[541],{"title":542,"links":543},"トピック",[544,547,552,557,562,567,572,577],{"text":23,"config":545},{"href":546,"dataGaName":37,"dataGaLocation":468},"/ja-jp/topics/ci-cd/",{"text":548,"config":549},"GitOps",{"href":550,"dataGaName":551,"dataGaLocation":468},"/ja-jp/topics/gitops/","gitops",{"text":553,"config":554},"DevOps",{"href":555,"dataGaName":556,"dataGaLocation":468},"/ja-jp/topics/devops/","devops",{"text":558,"config":559},"バージョン管理",{"href":560,"dataGaName":561,"dataGaLocation":468},"/ja-jp/topics/version-control/","version control",{"text":563,"config":564},"DevSecOps",{"href":565,"dataGaName":566,"dataGaLocation":468},"/ja-jp/topics/devsecops/","devsecops",{"text":568,"config":569},"クラウドネイティブ",{"href":570,"dataGaName":571,"dataGaLocation":468},"/ja-jp/topics/cloud-native/","cloud native",{"text":573,"config":574},"コーディングのためのAI",{"href":575,"dataGaName":576,"dataGaLocation":468},"/ja-jp/topics/devops/ai-for-coding/","ai for coding",{"text":578,"config":579},"エージェント型AI",{"href":580,"dataGaName":581,"dataGaLocation":468},"/ja-jp/topics/agentic-ai/","agentic ai",{"title":583,"links":584},"ソリューション",[585,588,590,595,599,602,605,608,610,612,615,620],{"text":133,"config":586},{"href":128,"dataGaName":587,"dataGaLocation":468},"Application Security Testing",{"text":120,"config":589},{"href":105,"dataGaName":106,"dataGaLocation":468},{"text":591,"config":592},"アジャイル開発",{"href":593,"dataGaName":594,"dataGaLocation":468},"/ja-jp/solutions/agile-delivery/","agile delivery",{"text":596,"config":597},"SCM",{"href":117,"dataGaName":598,"dataGaLocation":468},"source code management",{"text":23,"config":600},{"href":110,"dataGaName":601,"dataGaLocation":468},"continuous integration & delivery",{"text":159,"config":603},{"href":161,"dataGaName":604,"dataGaLocation":468},"value stream management",{"text":548,"config":606},{"href":607,"dataGaName":551,"dataGaLocation":468},"/ja-jp/solutions/gitops/",{"text":172,"config":609},{"href":174,"dataGaName":175,"dataGaLocation":468},{"text":177,"config":611},{"href":179,"dataGaName":180,"dataGaLocation":468},{"text":613,"config":614},"公共機関",{"href":184,"dataGaName":185,"dataGaLocation":468},{"text":616,"config":617},"教育",{"href":618,"dataGaName":619,"dataGaLocation":468},"/ja-jp/solutions/education/","education",{"text":621,"config":622},"金融サービス",{"href":623,"dataGaName":624,"dataGaLocation":468},"/ja-jp/solutions/finance/","financial services",{"title":192,"links":626},[627,629,631,633,636,638,640,642,644,646,648,650],{"text":204,"config":628},{"href":206,"dataGaName":207,"dataGaLocation":468},{"text":209,"config":630},{"href":211,"dataGaName":212,"dataGaLocation":468},{"text":214,"config":632},{"href":216,"dataGaName":217,"dataGaLocation":468},{"text":219,"config":634},{"href":221,"dataGaName":635,"dataGaLocation":468},"docs",{"text":242,"config":637},{"href":244,"dataGaName":245,"dataGaLocation":468},{"text":237,"config":639},{"href":239,"dataGaName":240,"dataGaLocation":468},{"text":247,"config":641},{"href":249,"dataGaName":250,"dataGaLocation":468},{"text":255,"config":643},{"href":257,"dataGaName":258,"dataGaLocation":468},{"text":260,"config":645},{"href":262,"dataGaName":263,"dataGaLocation":468},{"text":265,"config":647},{"href":267,"dataGaName":268,"dataGaLocation":468},{"text":270,"config":649},{"href":272,"dataGaName":273,"dataGaLocation":468},{"text":275,"config":651},{"href":277,"dataGaName":278,"dataGaLocation":468},{"title":293,"links":653},[654,656,658,660,662,664,666,670,675,677,679,681],{"text":300,"config":655},{"href":302,"dataGaName":295,"dataGaLocation":468},{"text":305,"config":657},{"href":307,"dataGaName":308,"dataGaLocation":468},{"text":313,"config":659},{"href":315,"dataGaName":316,"dataGaLocation":468},{"text":318,"config":661},{"href":320,"dataGaName":321,"dataGaLocation":468},{"text":323,"config":663},{"href":325,"dataGaName":326,"dataGaLocation":468},{"text":328,"config":665},{"href":330,"dataGaName":331,"dataGaLocation":468},{"text":667,"config":668},"Sustainability",{"href":669,"dataGaName":667,"dataGaLocation":468},"/sustainability/",{"text":671,"config":672},"ダイバーシティ、インクルージョン、ビロンギング（DIB）",{"href":673,"dataGaName":674,"dataGaLocation":468},"/ja-jp/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":333,"config":676},{"href":335,"dataGaName":336,"dataGaLocation":468},{"text":343,"config":678},{"href":345,"dataGaName":346,"dataGaLocation":468},{"text":348,"config":680},{"href":350,"dataGaName":351,"dataGaLocation":468},{"text":682,"config":683},"現代奴隷制の透明性に関する声明",{"href":684,"dataGaName":685,"dataGaLocation":468},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":687},[688,690,693],{"text":516,"config":689},{"href":518,"dataGaName":519,"dataGaLocation":468},{"text":691,"config":692},"Cookieの設定",{"dataGaName":528,"dataGaLocation":468,"id":529,"isOneTrustButton":12},{"text":521,"config":694},{"href":523,"dataGaName":524,"dataGaLocation":468},[696],{"id":697,"title":18,"body":8,"config":698,"content":700,"description":8,"extension":27,"meta":704,"navigation":12,"path":705,"seo":706,"stem":707,"__hash__":708},"blogAuthors/en-us/blog/authors/tim-rizzi.yml",{"template":699},"BlogAuthor",{"name":18,"config":701},{"headshot":702,"ctfId":703},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749661866/Blog/Author%20Headshots/trizzi-headshot.jpg","trizzi",{},"/en-us/blog/authors/tim-rizzi",{},"en-us/blog/authors/tim-rizzi","ADPqrpcnKveFJS0m_zFV0VLtb_h_txu59QVgz_YwKMc",[710,725,738],{"content":711,"config":723},{"heroImage":712,"body":713,"authors":714,"updatedDate":716,"date":717,"title":718,"tags":719,"description":722,"category":9},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1776174711/ksndibz6sgj1umx5cjsj.png","\n[GitLab Duo Agent Platform](https://docs.gitlab.com/ja-jp/user/duo_agent_platform/)が、Anthropicの最新モデルである[Claude Opus 4.7](https://www.anthropic.com/news/claude-opus-4-7)をサポートしました。本日より、[Agentic Chat](https://docs.gitlab.com/ja-jp/user/duo_agent_platform/context/#gitlab-duo-agentic-chat)でのモデル選択や、GitLabインスタンス全体のエージェント型ワークフローでご利用いただけます。\n\n\nソフトウェアデリバリーライフサイクル全体でエージェントを活用しているチームにとって、Opus 4.7は最も重要なタスク、すなわち継続的な推論と正確な指示遵守、そして結果を返す前に自身の出力を検証する能力が求められる、複雑なマルチステップ作業において、大きな改善をもたらします。\n\n\n## あらゆるエージェントワークフローで推論能力が強化\n\n\n最も大きな向上は、難易度の高い長時間の作業をOpus 4.7がいかに処理するかという点です。GitLabの社内評価では、Sonnet 4.6およびOpus 4.6の両方を上回るパフォーマンスが確認されました。この組み合わせは、複合的なエラーが大きなコストにつながる、CI/CDパイプライン、コードレビュー、脆弱性解消、その他のマルチツールワークフローにおいて、エージェントがより効率的に動作することに直結します。\n\n\nエージェントワークフローを確立しているチームは、Opus 4.7が以前のモデルより正確に指示を解釈する点にご注目ください。これにより、複雑な条件付きタスクをより忠実に実行できます。たとえば、マルチステップの修正シーケンスを処理するエージェントは、各ステップを指定どおりに完了するため、予測可能で監査しやすい結果をチームにもたらします。\n\n\n## エージェントがコードから本番環境への作業を前進させる\n\nソフトウェア開発ライフサイクルのあらゆる段階に組み込まれたエージェントの可能性は、作業が人の手を待つことなく前進し続けることにあります。Opus 4.7は、その可能性を実際に、より確実なものにします。\n\n\nコード生成とテスト作成の段階では、Opus 4.7が結果を返す前に自身の出力を検証する能力により、エージェントはより大きな恩恵を受けます。やり取りの回数が減り、反復速度が上がり、開発者の集中を妨げる割り込みも少なくなります。セキュリティと脆弱性のワークフローでは、指示遵守の精度向上により、エージェントはマルチステップの修正シーケンスを最後までやり遂げ、途中での軌道修正が不要になります。\n\n\nCI/CDにおいて、パイプラインの失敗はチーム全体のボトルネックになりかねませんが、ここでOpus 4.7の長期的な一貫性が最も威力を発揮します。失敗を調査し、ログを分析し、修正案を提案するエージェントは、実行途中でコンテキストを失うことなく、一連の作業を首尾一貫して処理します。問題はエスカレーションされるのではなく、解決されます。\n\nGitLab Duo Agent Platformは、こうした段階を設計上連携させています。Opus 4.7は、それらすべてを横断する知能レイヤーを強化します。これにより、計画・開発・セキュリティ・デプロイメントをまたいで連携するエージェントが、あらゆる引き継ぎ地点で、より高い能力を持つモデルによる意思決定の恩恵を受けられます。\n\n## 料金と利用方法\n\nClaude Opus 4.7は、[モデル選択](https://docs.gitlab.com/ja-jp/administration/gitlab_duo/model_selection/)よりGitLab Duo Agent Platformで本日から利用可能です。Duo Agent Platformで利用可能なモデルの一覧とクレジット消費量については、[ドキュメント](https://docs.gitlab.com/ja-jp/subscriptions/gitlab_credits/#models)をご参照ください。\n\nGitLab Duo Agent Platformの[無料トライアル](https://about.gitlab.com/ja-jp/gitlab-duo-agent-platform/)を今すぐ開始できます。GitLabの無料プランをご利用中の場合は、[こちらの手順](https://docs.gitlab.com/ja-jp/subscriptions/gitlab_credits/#for-the-free-tier-on-gitlabcom)に従って、数ステップでDuo Agent Platformにサインアップできます。\n\nGitLab PremiumまたはUltimateの既存サブスクライバーの方は、[Duo Agent Platformをオンに](https://docs.gitlab.com/ja-jp/user/duo_agent_platform/turn_on_off/)するだけで、サブスクリプションに[含まれている](https://docs.gitlab.com/ja-jp/subscriptions/gitlab_credits/#included-credits)GitLabクレジットをすぐにご利用いただけます。\n\n\n*このブログポストには、改正証券法第27A条および改正証券取引所法第21E条の意味における将来の見通しに関する記述が含まれています。これらの記述に反映された期待は合理的であると考えていますが、実際の結果や成果が重大に異なる可能性のある既知・未知のリスク、不確実性、前提、その他の要因に左右されます。これらのリスクおよびその他の要因の詳細については、SECへの提出書類の「リスク要因」の見出しをご参照ください。当社は、法律で義務付けられている場合を除き、このブログポストの日付以降にこれらの記述を更新または修正する義務を負いません。*\n",[715],"Rebecca Carter","2026-04-17","2026-04-16","Claude Opus 4.7がGitLab Duo Agent Platformで利用可能になりました",[720,721],"AI/ML","product","Anthropicの最新モデルが本日より利用可能に。より高度なエージェントワークに対応します。",{"featured":31,"template":13,"slug":724},"claude-opus-4-7-is-now-available-in-gitlab-duo-agent-platform",{"content":726,"config":736},{"title":727,"description":728,"authors":729,"heroImage":731,"date":732,"body":733,"category":9,"tags":734},"GitLabでパスキーによるパスワードレスサインインと2FAが利用可能に","アカウントにパスキーを登録する方法と、フィッシング耐性のある2要素認証の仕組みについて解説します。",[730],"GitLab","https://res.cloudinary.com/about-gitlab-com/image/upload/v1772029801/qk75nu1eezxa6aiefpup.png","2026-02-25","GitLabでパスキーが利用可能になり、より安全で便利なアカウントアクセス方法を提供します。パスキーは、パスワードレスサインインまたはフィッシング耐性のある2要素認証（2FA）方法として使用できます。パスキーを使用すると、デバイスの指紋認証、顔認識、またはPINを使って認証を行うことができます。2FAが有効になっているアカウントでは、パスキーが自動的にデフォルトの2FA方法として利用可能になります。\n\n\u003Cfigure class=\"video_container\"> \u003Ciframe src=\"https://www.youtube.com/embed/LN5MGRdTHR8?si=OOebJZzN3LkSmzNv\" title=\"Passwordless authentication using passkeys\" frameborder=\"0\" allowfullscreen=\"true\">\u003C/iframe> \u003C/figure>\n\n\u003Cbr>\u003C/br>\n\nアカウントにパスキーを登録するには、プロフィール設定にアクセスし、**アカウント > 認証管理**を選択してください。\n\nパスキーはWebAuthn技術と、秘密鍵と公開鍵で構成される公開鍵暗号化を使用しています。秘密鍵はデバイス上に安全に保存され、決して外部に送信されることはありません。一方、公開鍵はGitLabに保存されます。仮にGitLabが侵害されたとしても、攻撃者は保存された認証情報を使用してアカウントにアクセスすることはできません。パスキーは、デスクトップブラウザ（Chrome、Firefox、Safari、Edge）、モバイルデバイス（iOS 16以降、Android 9以降）、FIDO2ハードウェアセキュリティキーで動作し、複数のデバイスにパスキーを登録して便利にアクセスできます。\n\n![Passkeys sign-in with two-factor authentication](https://res.cloudinary.com/about-gitlab-com/image/upload/v1767807931/n652nkgvna1rsymlfzpi.png)\n\nGitLabは[CISA Secure by Design Pledge](https://about.gitlab.com/blog/last-year-we-signed-the-secure-by-design-pledge-heres-our-progress/)に署名し、セキュリティ対策状況の改善とお客様がより迅速に安全なソフトウェアを開発できるよう支援することをコミットしています。この誓約の主要な目標の一つは、製造業者の製品全体で[多要素認証（MFA）](https://about.gitlab.com/blog/last-year-we-signed-the-secure-by-design-pledge-heres-our-progress/#multi-factor-authentication-mfa)の使用を拡大することです。パスキーはこの目標の重要な要素であり、GitLabへのサインインをより安全で便利にするシームレスでフィッシング耐性のあるMFA方法を提供します。\n\nご質問がある場合、体験を共有したい場合、または潜在的な改善についてチームと直接やり取りしたい場合は、[フィードバックイシュー](https://gitlab.com/gitlab-org/gitlab/-/work_items/366758)をご覧ください。\n",[735,721],"security",{"featured":31,"template":13,"slug":737},"passkeys-now-available-for-passwordless-sign-in-and-2fa-on-gitlab",{"content":739,"config":748},{"title":740,"description":741,"heroImage":742,"authors":743,"date":745,"body":746,"category":9,"tags":747},"GitLabパッケージリポジトリのメタデータ署名に使用されるGPGキーの有効期限が延長されました","packages.gitlab.comのGitLab Packagecloudインスタンスでリポジトリメタデータの署名に使用されるGPGキーの有効期限が延長されました。以下に重要な情報をまとめました。","https://res.cloudinary.com/about-gitlab-com/image/upload/v1771934335/c4f7zzdelhwcihaqwxym.png",[744],"Denis Afonso","2026-02-24","GitLabでは、公式のomnibus-gitlabおよびgitlab-runnerパッケージの配布に使用される各種aptおよびyumリポジトリのメタデータに署名するためにGPGキーを使用しています。これにより、パッケージ自体が別のキーで署名されることに加えて、パッケージの整合性を確保しています。\n\n現在メタデータの署名に使用されているキーのフィンガープリントは`F640 3F65 44A3 8863 DAA0 B6E0 3F01 618A 5131 2F3F`で、2026年2月27日に期限切れとなる予定でしたが、2028年2月6日まで延長されました。\n\n## なぜ有効期限を延長するのですか\n\nリポジトリメタデータ署名キーの有効期限は、GitLabのセキュリティポリシーに準拠し、キーが侵害された場合の影響を制限するために定期的に延長されています。新しいキーへのローテーションではなく有効期限の延長を行うのは、ユーザーへの影響を最小限に抑えるためです。ローテーションを行った場合、すべてのユーザーが信頼済みキーを置き換える必要があります。\n\n## 何をすればいいですか\n\n2026年2月17日より前にお使いのマシンでGitLabリポジトリを既に設定している場合は、[新しいキーの取得と追加方法](https://docs.gitlab.com/ja-jp/omnibus/update/package_signatures/#package-repository-metadata-signing-keys)に関する公式ドキュメントをご確認ください。\n\n新規ユーザーの方は、[GitLabインストールページ](https://about.gitlab.com/install/)または[gitlab-runnerインストールドキュメント](https://docs.gitlab.com/ja-jp/runner/install/linux-repository/)に従っていただく以外に、特別な対応は必要ありません。\n\n[リポジトリメタデータ署名の検証](https://docs.gitlab.com/ja-jp/omnibus/update/package_signatures/#package-repository-metadata-signing-keys)に関する詳細情報は、Omnibusドキュメントでご確認いただけます。公開キーのコピーを更新する必要がある場合は、support@gitlab.comで検索するか、キーID `F640 3F65 44A3 8863 DAA0 B6E0 3F01 618A 5131 2F3F`を使用して、任意のGPGキーサーバーで見つけることができます。\n\nまたは、次のURLを使用してpackages.gitlab.comから直接ダウンロードすることも可能です：`https://packages.gitlab.com/gpg.key`\n\n## さらにサポートが必要な方は\n\n[omnibus-gitlabイシュートラッカー](https://gitlab.com/gitlab-org/omnibus-gitlab/-/issues/new?issue&issuable_template=Bug)でイシューを作成してください。",[721],{"featured":31,"template":13,"slug":749},"gpg-key-used-to-sign-gitlab-package-repositories-metadata-has-been-extended",{"promotions":751},[752,766,777,788],{"id":753,"categories":754,"header":756,"text":757,"button":758,"image":763},"ai-modernization",[755],"ai-ml","Is AI achieving its promise at scale?","Quiz will take 5 minutes or less",{"text":759,"config":760},"Get your AI maturity score",{"href":761,"dataGaName":762,"dataGaLocation":245},"/assessments/ai-modernization-assessment/","modernization assessment",{"config":764},{"src":765},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/qix0m7kwnd8x2fh1zq49.png",{"id":767,"categories":768,"header":769,"text":757,"button":770,"image":774},"devops-modernization",[721,566],"Are you just managing tools or shipping innovation?",{"text":771,"config":772},"Get your DevOps maturity score",{"href":773,"dataGaName":762,"dataGaLocation":245},"/assessments/devops-modernization-assessment/",{"config":775},{"src":776},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138785/eg818fmakweyuznttgid.png",{"id":778,"categories":779,"header":780,"text":757,"button":781,"image":785},"security-modernization",[735],"Are you trading speed for security?",{"text":782,"config":783},"Get your security maturity score",{"href":784,"dataGaName":762,"dataGaLocation":245},"/assessments/security-modernization-assessment/",{"config":786},{"src":787},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/p4pbqd9nnjejg5ds6mdk.png",{"id":789,"paths":790,"header":793,"text":794,"button":795,"image":800},"github-azure-migration",[791,792],"migration-from-azure-devops-to-gitlab","integrating-azure-devops-scm-and-gitlab","Is your team ready for GitHub's Azure move?","GitHub is already rebuilding around Azure. Find out what it means for you.",{"text":796,"config":797},"See how GitLab compares to GitHub",{"href":798,"dataGaName":799,"dataGaLocation":245},"/compare/gitlab-vs-github/github-azure-migration/","github azure migration",{"config":801},{"src":776},{"header":803,"blurb":804,"button":805,"secondaryButton":809},"今すぐ開発をスピードアップ","DevSecOpsに特化したインテリジェントオーケストレーションプラットフォームで実現できることをご確認ください。\n",{"text":48,"config":806},{"href":807,"dataGaName":51,"dataGaLocation":808},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/ja-jp/","feature",{"text":53,"config":810},{"href":55,"dataGaName":56,"dataGaLocation":808},1777576669672]