[{"data":1,"prerenderedAt":757},["ShallowReactive",2],{"/ja-jp/blog/gitlab-18-10-release":3,"navigation-ja-jp":37,"banner-ja-jp":435,"footer-ja-jp":445,"blog-post-authors-ja-jp-GitLab Japan Team":651,"blog-related-posts-ja-jp-gitlab-18-10-release":666,"assessment-promotions-ja-jp":708,"next-steps-ja-jp":748},{"id":4,"title":5,"authorSlugs":6,"body":8,"categorySlug":9,"config":10,"content":14,"description":8,"extension":26,"isFeatured":11,"meta":27,"navigation":28,"path":29,"publishedDate":20,"seo":30,"stem":32,"tagSlugs":33,"__hash__":36},"blogPosts/ja-jp/blog/gitlab-18-10-release.yml","Gitlab 18 10 Release",[7],"gitlab-japan-team",null,"product",{"featured":11,"template":12,"slug":13},false,"BlogPost","gitlab-18-10-release",{"category":9,"tags":15,"body":19,"date":20,"heroImage":21,"authors":22,"title":24,"description":25},[16,17,9,18],"releases","AI/ML","CI/CD","本ブログは、GitLab 18.10 Releaseの抄訳です。内容に相違がある場合は、原文が優先されます。\n\n\n\n準備中","2025-07-18","https://res.cloudinary.com/about-gitlab-com/image/upload/v1773814604/bqvflb3b9f5crqfbx5jz.png",[23],"GitLab Japan Team","GitLab 18.10リリース","GitLab 18.10でリリースした最新機能を公開します。","yml",{},true,"/ja-jp/blog/gitlab-18-10-release",{"config":31,"ogImage":21,"description":25,"title":24},{"noIndex":11},"ja-jp/blog/gitlab-18-10-release",[16,34,9,35],"aiml","cicd","Pa99nvg-Gm88AgTVOHAkh6v_S0UfePA43Y-mORSi_eE",{"data":38},{"logo":39,"freeTrial":44,"sales":49,"login":54,"items":59,"search":366,"minimal":399,"duo":416,"pricingDeployment":425},{"config":40},{"href":41,"dataGaName":42,"dataGaLocation":43},"/ja-jp/","gitlab logo","header",{"text":45,"config":46},"無料トライアルを開始",{"href":47,"dataGaName":48,"dataGaLocation":43},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/ja-jp&glm_content=default-saas-trial/","free trial",{"text":50,"config":51},"お問い合わせ",{"href":52,"dataGaName":53,"dataGaLocation":43},"/ja-jp/sales/","sales",{"text":55,"config":56},"サインイン",{"href":57,"dataGaName":58,"dataGaLocation":43},"https://gitlab.com/users/sign_in/","sign in",[60,87,182,187,288,348],{"text":61,"config":62,"cards":64},"プラットフォーム",{"dataNavLevelOne":63},"platform",[65,71,79],{"title":61,"description":66,"link":67},"DevSecOpsに特化したインテリジェントオーケストレーションプラットフォーム",{"text":68,"config":69},"プラットフォームを詳しく見る",{"href":70,"dataGaName":63,"dataGaLocation":43},"/ja-jp/platform/",{"title":72,"description":73,"link":74},"GitLab Duo Agent Platform","ソフトウェアライフサイクル全体を支えるエージェント型AI",{"text":75,"config":76},"GitLab Duoのご紹介",{"href":77,"dataGaName":78,"dataGaLocation":43},"/ja-jp/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":80,"description":81,"link":82},"GitLabが選ばれる理由","エンタープライズがGitLabを選ぶ主な理由をご覧ください",{"text":83,"config":84},"詳細はこちら",{"href":85,"dataGaName":86,"dataGaLocation":43},"/ja-jp/why-gitlab/","why gitlab",{"text":88,"left":28,"config":89,"link":91,"lists":95,"footer":164},"製品",{"dataNavLevelOne":90},"solutions",{"text":92,"config":93},"すべてのソリューションを表示",{"href":94,"dataGaName":90,"dataGaLocation":43},"/ja-jp/solutions/",[96,120,142],{"title":97,"description":98,"link":99,"items":104},"自動化","CI/CDと自動化でデプロイを加速",{"config":100},{"icon":101,"href":102,"dataGaName":103,"dataGaLocation":43},"AutomatedCodeAlt","/ja-jp/solutions/delivery-automation/","automated software delivery",[105,108,111,116],{"text":18,"config":106},{"href":107,"dataGaLocation":43,"dataGaName":18},"/ja-jp/solutions/continuous-integration/",{"text":72,"config":109},{"href":77,"dataGaLocation":43,"dataGaName":110},"gitlab duo agent platform - product menu",{"text":112,"config":113},"ソースコード管理",{"href":114,"dataGaLocation":43,"dataGaName":115},"/ja-jp/solutions/source-code-management/","Source Code Management",{"text":117,"config":118},"自動化されたソフトウェアデリバリー",{"href":102,"dataGaLocation":43,"dataGaName":119},"Automated software delivery",{"title":121,"description":122,"link":123,"items":128},"セキュリティ","セキュリティを犠牲にすることなくコード作成を高速化",{"config":124},{"href":125,"dataGaName":126,"dataGaLocation":43,"icon":127},"/ja-jp/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[129,133,138],{"text":130,"config":131},"Application Security Testing",{"href":125,"dataGaName":132,"dataGaLocation":43},"Application security testing",{"text":134,"config":135},"ソフトウェアサプライチェーンの安全性",{"href":136,"dataGaLocation":43,"dataGaName":137},"/ja-jp/solutions/supply-chain/","Software supply chain security",{"text":139,"config":140},"Software Compliance",{"href":141,"dataGaName":139,"dataGaLocation":43},"/ja-jp/solutions/software-compliance/",{"title":143,"link":144,"items":149},"測定",{"config":145},{"icon":146,"href":147,"dataGaName":148,"dataGaLocation":43},"DigitalTransformation","/ja-jp/solutions/visibility-measurement/","visibility and measurement",[150,154,159],{"text":151,"config":152},"可視性と測定",{"href":147,"dataGaLocation":43,"dataGaName":153},"Visibility and Measurement",{"text":155,"config":156},"バリューストリーム管理",{"href":157,"dataGaLocation":43,"dataGaName":158},"/ja-jp/solutions/value-stream-management/","Value Stream Management",{"text":160,"config":161},"分析とインサイト",{"href":162,"dataGaLocation":43,"dataGaName":163},"/ja-jp/solutions/analytics-and-insights/","Analytics and insights",{"title":165,"items":166},"GitLabが活躍する場所",[167,172,177],{"text":168,"config":169},"Enterprise",{"href":170,"dataGaLocation":43,"dataGaName":171},"/ja-jp/enterprise/","enterprise",{"text":173,"config":174},"スモールビジネス",{"href":175,"dataGaLocation":43,"dataGaName":176},"/ja-jp/small-business/","small business",{"text":178,"config":179},"公共機関",{"href":180,"dataGaLocation":43,"dataGaName":181},"/ja-jp/solutions/public-sector/","public sector",{"text":183,"config":184},"価格",{"href":185,"dataGaName":186,"dataGaLocation":43,"dataNavLevelOne":186},"/ja-jp/pricing/","pricing",{"text":188,"config":189,"link":191,"lists":195,"feature":275},"関連リソース",{"dataNavLevelOne":190},"resources",{"text":192,"config":193},"すべてのリソースを表示",{"href":194,"dataGaName":190,"dataGaLocation":43},"/ja-jp/resources/",[196,229,247],{"title":197,"items":198},"はじめに",[199,204,209,214,219,224],{"text":200,"config":201},"インストール",{"href":202,"dataGaName":203,"dataGaLocation":43},"/ja-jp/install/","install",{"text":205,"config":206},"クイックスタートガイド",{"href":207,"dataGaName":208,"dataGaLocation":43},"/ja-jp/get-started/","quick setup checklists",{"text":210,"config":211},"学ぶ",{"href":212,"dataGaLocation":43,"dataGaName":213},"https://university.gitlab.com/","learn",{"text":215,"config":216},"製品ドキュメント",{"href":217,"dataGaName":218,"dataGaLocation":43},"https://docs.gitlab.com/","product documentation",{"text":220,"config":221},"ベストプラクティスビデオ",{"href":222,"dataGaName":223,"dataGaLocation":43},"/ja-jp/getting-started-videos/","best practice videos",{"text":225,"config":226},"インテグレーション",{"href":227,"dataGaName":228,"dataGaLocation":43},"/ja-jp/integrations/","integrations",{"title":230,"items":231},"検索する",[232,237,242],{"text":233,"config":234},"お客様成功事例",{"href":235,"dataGaName":236,"dataGaLocation":43},"/ja-jp/customers/","customer success stories",{"text":238,"config":239},"ブログ",{"href":240,"dataGaName":241,"dataGaLocation":43},"/ja-jp/blog/","blog",{"text":243,"config":244},"リモート",{"href":245,"dataGaName":246,"dataGaLocation":43},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":248,"items":249},"つなげる",[250,255,260,265,270],{"text":251,"config":252},"GitLabサービス",{"href":253,"dataGaName":254,"dataGaLocation":43},"/ja-jp/services/","services",{"text":256,"config":257},"コミュニティ",{"href":258,"dataGaName":259,"dataGaLocation":43},"/community/","community",{"text":261,"config":262},"フォーラム",{"href":263,"dataGaName":264,"dataGaLocation":43},"https://forum.gitlab.com/","forum",{"text":266,"config":267},"イベント",{"href":268,"dataGaName":269,"dataGaLocation":43},"/events/","events",{"text":271,"config":272},"パートナー",{"href":273,"dataGaName":274,"dataGaLocation":43},"/ja-jp/partners/","partners",{"backgroundColor":276,"textColor":277,"text":278,"image":279,"link":283},"#2f2a6b","#fff","ソフトウェア開発の未来への洞察",{"altText":280,"config":281},"ソースプロモカード",{"src":282},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758208064/dzl0dbift9xdizyelkk4.svg",{"text":284,"config":285},"最新情報を読む",{"href":286,"dataGaName":287,"dataGaLocation":43},"/ja-jp/the-source/","the source",{"text":289,"config":290,"lists":292},"会社情報",{"dataNavLevelOne":291},"company",[293],{"items":294},[295,300,306,308,313,318,323,328,333,338,343],{"text":296,"config":297},"GitLabについて",{"href":298,"dataGaName":299,"dataGaLocation":43},"/ja-jp/company/","about",{"text":301,"config":302,"footerGa":305},"採用情報",{"href":303,"dataGaName":304,"dataGaLocation":43},"/jobs/","jobs",{"dataGaName":304},{"text":266,"config":307},{"href":268,"dataGaName":269,"dataGaLocation":43},{"text":309,"config":310},"経営陣",{"href":311,"dataGaName":312,"dataGaLocation":43},"/company/team/e-group/","leadership",{"text":314,"config":315},"チーム",{"href":316,"dataGaName":317,"dataGaLocation":43},"/company/team/","team",{"text":319,"config":320},"ハンドブック",{"href":321,"dataGaName":322,"dataGaLocation":43},"https://handbook.gitlab.com/","handbook",{"text":324,"config":325},"投資家向け情報",{"href":326,"dataGaName":327,"dataGaLocation":43},"https://ir.gitlab.com/","investor relations",{"text":329,"config":330},"トラストセンター",{"href":331,"dataGaName":332,"dataGaLocation":43},"/ja-jp/security/","trust center",{"text":334,"config":335},"AI Transparency Center",{"href":336,"dataGaName":337,"dataGaLocation":43},"/ja-jp/ai-transparency-center/","ai transparency center",{"text":339,"config":340},"ニュースレター",{"href":341,"dataGaName":342,"dataGaLocation":43},"/company/contact/#contact-forms","newsletter",{"text":344,"config":345},"プレス",{"href":346,"dataGaName":347,"dataGaLocation":43},"/press/","press",{"text":50,"config":349,"lists":350},{"dataNavLevelOne":291},[351],{"items":352},[353,356,361],{"text":50,"config":354},{"href":52,"dataGaName":355,"dataGaLocation":43},"talk to sales",{"text":357,"config":358},"サポートポータル",{"href":359,"dataGaName":360,"dataGaLocation":43},"https://support.gitlab.com","support portal",{"text":362,"config":363},"カスタマーポータル",{"href":364,"dataGaName":365,"dataGaLocation":43},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":367,"login":368,"suggestions":375},"閉じる",{"text":369,"link":370},"リポジトリとプロジェクトを検索するには、次にログインします",{"text":371,"config":372},"GitLab.com",{"href":57,"dataGaName":373,"dataGaLocation":374},"search login","search",{"text":376,"default":377},"提案",[378,380,385,387,391,395],{"text":72,"config":379},{"href":77,"dataGaName":72,"dataGaLocation":374},{"text":381,"config":382},"コード提案（AI）",{"href":383,"dataGaName":384,"dataGaLocation":374},"/ja-jp/solutions/code-suggestions/","Code Suggestions (AI)",{"text":18,"config":386},{"href":107,"dataGaName":18,"dataGaLocation":374},{"text":388,"config":389},"GitLab on AWS",{"href":390,"dataGaName":388,"dataGaLocation":374},"/ja-jp/partners/technology-partners/aws/",{"text":392,"config":393},"GitLab on Google Cloud",{"href":394,"dataGaName":392,"dataGaLocation":374},"/ja-jp/partners/technology-partners/google-cloud-platform/",{"text":396,"config":397},"GitLabを選ぶ理由",{"href":85,"dataGaName":398,"dataGaLocation":374},"Why GitLab?",{"freeTrial":400,"mobileIcon":404,"desktopIcon":409,"secondaryButton":412},{"text":45,"config":401},{"href":402,"dataGaName":48,"dataGaLocation":403},"https://gitlab.com/-/trials/new/","nav",{"altText":405,"config":406},"GitLabアイコン",{"src":407,"dataGaName":408,"dataGaLocation":403},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":405,"config":410},{"src":411,"dataGaName":408,"dataGaLocation":403},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":197,"config":413},{"href":414,"dataGaName":415,"dataGaLocation":403},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/ja-jp/get-started/","get started",{"freeTrial":417,"mobileIcon":421,"desktopIcon":423},{"text":418,"config":419},"GitLab Duoの詳細について",{"href":77,"dataGaName":420,"dataGaLocation":403},"gitlab duo",{"altText":405,"config":422},{"src":407,"dataGaName":408,"dataGaLocation":403},{"altText":405,"config":424},{"src":411,"dataGaName":408,"dataGaLocation":403},{"freeTrial":426,"mobileIcon":431,"desktopIcon":433},{"text":427,"config":428},"料金ページに戻る",{"href":185,"dataGaName":429,"dataGaLocation":403,"icon":430},"back to pricing","GoBack",{"altText":405,"config":432},{"src":407,"dataGaName":408,"dataGaLocation":403},{"altText":405,"config":434},{"src":411,"dataGaName":408,"dataGaLocation":403},{"title":436,"button":437,"config":442},"エージェント型AIがソフトウェア配信をどのように変革するかをご覧ください",{"text":438,"config":439},"GitLab Transcendを今すぐ視聴",{"href":440,"dataGaName":441,"dataGaLocation":43},"/ja-jp/events/transcend/virtual/","transcend event",{"layout":443,"icon":444,"disabled":28},"release","AiStar",{"data":446},{"text":447,"source":448,"edit":454,"contribute":459,"config":464,"items":469,"minimal":643},"GitはSoftware Freedom Conservancyの商標です。当社は「GitLab」をライセンスに基づいて使用しています",{"text":449,"config":450},"ページのソースを表示",{"href":451,"dataGaName":452,"dataGaLocation":453},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":455,"config":456},"このページを編集",{"href":457,"dataGaName":458,"dataGaLocation":453},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":460,"config":461},"ご協力をお願いします",{"href":462,"dataGaName":463,"dataGaLocation":453},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":465,"facebook":466,"youtube":467,"linkedin":468},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[470,493,547,577,612],{"title":61,"links":471,"subMenu":476},[472],{"text":473,"config":474},"DevSecOpsプラットフォーム",{"href":70,"dataGaName":475,"dataGaLocation":453},"devsecops platform",[477],{"title":183,"links":478},[479,483,488],{"text":480,"config":481},"プランの表示",{"href":185,"dataGaName":482,"dataGaLocation":453},"view plans",{"text":484,"config":485},"Premiumを選ぶ理由",{"href":486,"dataGaName":487,"dataGaLocation":453},"/ja-jp/pricing/premium/","why premium",{"text":489,"config":490},"Ultimateを選ぶ理由",{"href":491,"dataGaName":492,"dataGaLocation":453},"/ja-jp/pricing/ultimate/","why ultimate",{"title":494,"links":495},"ソリューション",[496,501,504,506,511,516,520,523,526,531,533,535,537,542],{"text":497,"config":498},"デジタルトランスフォーメーション",{"href":499,"dataGaName":500,"dataGaLocation":453},"/ja-jp/topics/digital-transformation/","digital transformation",{"text":502,"config":503},"セキュリティとコンプライアンス",{"href":125,"dataGaName":132,"dataGaLocation":453},{"text":117,"config":505},{"href":102,"dataGaName":103,"dataGaLocation":453},{"text":507,"config":508},"アジャイル開発",{"href":509,"dataGaName":510,"dataGaLocation":453},"/ja-jp/solutions/agile-delivery/","agile delivery",{"text":512,"config":513},"クラウドトランスフォーメーション",{"href":514,"dataGaName":515,"dataGaLocation":453},"/ja-jp/topics/cloud-native/","cloud transformation",{"text":517,"config":518},"SCM",{"href":114,"dataGaName":519,"dataGaLocation":453},"source code management",{"text":18,"config":521},{"href":107,"dataGaName":522,"dataGaLocation":453},"continuous integration & delivery",{"text":155,"config":524},{"href":157,"dataGaName":525,"dataGaLocation":453},"value stream management",{"text":527,"config":528},"GitOps",{"href":529,"dataGaName":530,"dataGaLocation":453},"/ja-jp/solutions/gitops/","gitops",{"text":168,"config":532},{"href":170,"dataGaName":171,"dataGaLocation":453},{"text":173,"config":534},{"href":175,"dataGaName":176,"dataGaLocation":453},{"text":178,"config":536},{"href":180,"dataGaName":181,"dataGaLocation":453},{"text":538,"config":539},"教育",{"href":540,"dataGaName":541,"dataGaLocation":453},"/ja-jp/solutions/education/","education",{"text":543,"config":544},"金融サービス",{"href":545,"dataGaName":546,"dataGaLocation":453},"/ja-jp/solutions/finance/","financial services",{"title":188,"links":548},[549,551,553,555,558,560,563,565,567,569,571,573,575],{"text":200,"config":550},{"href":202,"dataGaName":203,"dataGaLocation":453},{"text":205,"config":552},{"href":207,"dataGaName":208,"dataGaLocation":453},{"text":210,"config":554},{"href":212,"dataGaName":213,"dataGaLocation":453},{"text":215,"config":556},{"href":217,"dataGaName":557,"dataGaLocation":453},"docs",{"text":238,"config":559},{"href":240,"dataGaName":241},{"text":561,"config":562},"お客様の成功事例",{"href":235,"dataGaLocation":453},{"text":233,"config":564},{"href":235,"dataGaName":236,"dataGaLocation":453},{"text":243,"config":566},{"href":245,"dataGaName":246,"dataGaLocation":453},{"text":251,"config":568},{"href":253,"dataGaName":254,"dataGaLocation":453},{"text":256,"config":570},{"href":258,"dataGaName":259,"dataGaLocation":453},{"text":261,"config":572},{"href":263,"dataGaName":264,"dataGaLocation":453},{"text":266,"config":574},{"href":268,"dataGaName":269,"dataGaLocation":453},{"text":271,"config":576},{"href":273,"dataGaName":274,"dataGaLocation":453},{"title":578,"links":579},"Company",[580,582,584,586,588,590,592,596,601,603,605,607],{"text":296,"config":581},{"href":298,"dataGaName":291,"dataGaLocation":453},{"text":301,"config":583},{"href":303,"dataGaName":304,"dataGaLocation":453},{"text":309,"config":585},{"href":311,"dataGaName":312,"dataGaLocation":453},{"text":314,"config":587},{"href":316,"dataGaName":317,"dataGaLocation":453},{"text":319,"config":589},{"href":321,"dataGaName":322,"dataGaLocation":453},{"text":324,"config":591},{"href":326,"dataGaName":327,"dataGaLocation":453},{"text":593,"config":594},"Sustainability",{"href":595,"dataGaName":593,"dataGaLocation":453},"/sustainability/",{"text":597,"config":598},"ダイバーシティ、インクルージョン、ビロンギング（DIB）",{"href":599,"dataGaName":600,"dataGaLocation":453},"/ja-jp/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":329,"config":602},{"href":331,"dataGaName":332,"dataGaLocation":453},{"text":339,"config":604},{"href":341,"dataGaName":342,"dataGaLocation":453},{"text":344,"config":606},{"href":346,"dataGaName":347,"dataGaLocation":453},{"text":608,"config":609},"現代奴隷制の透明性に関する声明",{"href":610,"dataGaName":611,"dataGaLocation":453},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"title":50,"links":613},[614,616,621,623,628,633,638],{"text":50,"config":615},{"href":52,"dataGaName":53,"dataGaLocation":453},{"text":617,"config":618},"サポートを受ける",{"href":619,"dataGaName":620,"dataGaLocation":453},"https://support.gitlab.com/hc/en-us/articles/11626483177756-GitLab-Support","get help",{"text":362,"config":622},{"href":364,"dataGaName":365,"dataGaLocation":453},{"text":624,"config":625},"ステータス",{"href":626,"dataGaName":627,"dataGaLocation":453},"https://status.gitlab.com/","status",{"text":629,"config":630},"利用規約",{"href":631,"dataGaName":632,"dataGaLocation":453},"/terms/","terms of use",{"text":634,"config":635},"プライバシーに関する声明",{"href":636,"dataGaName":637,"dataGaLocation":453},"/ja-jp/privacy/","privacy statement",{"text":639,"config":640},"Cookieの設定",{"dataGaName":641,"dataGaLocation":453,"id":642,"isOneTrustButton":28},"cookie preferences","ot-sdk-btn",{"items":644},[645,647,649],{"text":629,"config":646},{"href":631,"dataGaName":632,"dataGaLocation":453},{"text":634,"config":648},{"href":636,"dataGaName":637,"dataGaLocation":453},{"text":639,"config":650},{"dataGaName":641,"dataGaLocation":453,"id":642,"isOneTrustButton":28},[652],{"id":653,"title":654,"body":8,"config":655,"content":657,"description":8,"extension":26,"meta":661,"navigation":28,"path":662,"seo":663,"stem":664,"__hash__":665},"blogAuthors/en-us/blog/authors/gitlab-japan-team.yml","Gitlab Japan Team",{"template":656},"BlogAuthor",{"name":23,"config":658},{"headshot":659,"ctfId":660},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749659488/Blog/Author%20Headshots/gitlab-logo-extra-whitespace.png","5YWHF8vG80rluQ41QjgP7V",{},"/en-us/blog/authors/gitlab-japan-team",{},"en-us/blog/authors/gitlab-japan-team","xs3yRNTInC3nd_gc5t_qSB_BOSquAfXSF9QA2S_y1g8",[667,680,695],{"content":668,"config":678},{"heroImage":669,"body":670,"authors":671,"updatedDate":672,"date":672,"title":673,"tags":674,"description":677,"category":9},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1763646158/crdpd8lt5fndfzbcl9ln.jpg","[CI/CDパイプライン](https://about.gitlab.com/ja-jp/topics/ci-cd/cicd-pipeline/ \"CI/CDパイプラインとは？\")を成功に導く陰の立役者、それが **GitLab Runner** です。`.gitlab-ci.yml` ファイルに定義されたジョブを実行し、テストの起動、アプリケーションのビルド、コードのデプロイを担います。\n\nRunnerがなければ、パイプラインは設計図のままです。Runnerがあれば、それは具体的な動作として再現できるものになります。本記事では、GitLab Runnerとは何か、インストール・設定の方法、そして最大限に活用するためのベストプラクティスをご紹介します。\n\n## GitLab Runnerとは？\n\n**GitLab Runner**は[オープンソース](https://about.gitlab.com/ja-jp/blog/what-is-open-source/ \"オープンソースとは？\")のGoで書かれたアプリケーションで、CI/CDパイプラインのジョブを実行します。デベロッパーがコードをプッシュすると、GitLabがパイプラインをトリガーし、利用可能なRunnerにジョブを振り分けます。RunnerはジョブをRunnerし、その結果（ログ、アーティファクト、ステータス）をGitLabに返します。\n\n**パイプライン**とは、ジョブ（コンパイル、テスト、デプロイ）を自動化した一連の流れのことです。**Runner**は、特定のマシン上でそれらを実行するエージェントです。RunnerのExecutorは、ジョブが実行される環境（[Docker](https://about.gitlab.com/ja-jp/blog/what-is-docker/ \"Dockerとは？\")、Shell、[Kubernetes](https://about.gitlab.com/ja-jp/blog/what-is-kubernetes/ \"Kubernetesとは？\")など）を定義します。\n\n> **[→ GitLab UltimateおよびGitLab Duo Enterpriseを無料でお試しください。](https://about.gitlab.com/ja-jp/free-trial/devsecops/?utm_medium=blog&utm_source=blog&utm_campaign=eg_apj_x_trial_x_ja_blog_ja)**\n\n## GitLab CI/CDで利用できるRunnerの種類\n\nGitLab Runnerでは、アクセスを許可する対象に応じて、次の[Runnerスコープ](https://docs.gitlab.com/ja-jp/ci/runners/runners_scope/)を利用できます。\n\n* **インスタンスRunner**：GitLabインスタンス上のすべてのグループとプロジェクトで利用可能。\n\n* **グループRunner**：グループ内のすべてのプロジェクトおよびサブグループで利用可能。\n\n* **プロジェクトRunner**：特定のプロジェクトに紐付けられています。通常、プロジェクトRunnerは一度に1つのプロジェクトのみで使用されます。\n\nこれらのRunnerは、2つの方法でホストできます。\n\n* **ホスト型Runner**：GitLabが管理し、GitLab.com上で利用可能。インストール不要で、素早く開始できますが、設定の自由度は制限されます。\n\n* **セルフホスト型Runner**：独自のサーバー、仮想マシン、またはクラスター上にインストール・設定・管理します。完全なコントロールが可能で、特定の環境にも柔軟に対応できます。\n\n## GitLab Runnerがサポートするエグゼキューター\n\nGitLab Runnerのインストール時には、**Executor**（ジョブが実行される環境）を選択する必要があります。Executorの選択は、パイプラインのセキュリティ、パフォーマンス、柔軟性に直接影響します。\n\n主なExecutorは以下のとおりです。\n\n* **[Docker](https://docs.gitlab.com/ja-jp/runner/executors/docker/)**：各ジョブを隔離されたコンテナ内で実行します。高速かつ柔軟で、ほとんどのプロジェクトに推奨されます。\n\n* **[Shell](https://docs.gitlab.com/ja-jp/runner/executors/shell/)**：ホストマシン上でジョブを直接実行します。シンプルですが、分離性はありません。\n\n* **[Kubernetes](https://docs.gitlab.com/ja-jp/runner/executors/kubernetes/)**：Kubernetesのポッド内でジョブを実行し、ネイティブなスケーラビリティを備えています。\n\n* **[VirtualBox / Parallels](https://docs.gitlab.com/ja-jp/runner/executors/virtualbox/)**：macOSなど特定の環境でジョブを実行します。\n\n選択はニーズによって異なりますが、ほとんどのプロジェクトでは**Docker**が最適です。Executorの詳細については、[ドキュメントをご覧ください](https://docs.gitlab.com/ja-jp/runner/executors/)。\n\n## GitLab Runnerのインストール方法\n\n[GitLab Runnerのインストール](https://docs.gitlab.com/ja-jp/runner/install/)方法は、使用するOSとターゲット環境によって異なります。以下に代表的なシナリオをご紹介します。\n\n### Linuxへのインストール（Debian/Ubuntu）\n\nLinuxは、特にサーバー側でセルフホスト型Runnerをホストする最も一般的な環境です。インストール方法は次の3通りです。\n\n* GitLabの公式リポジトリ経由\n\n* `.deb`または`.rpm`パッケージ経由\n\n* バイナリファイル経由\n\n以下の例は、**Debian/Ubuntu**において[GitLabリポジトリからパッケージをインストール](https://docs.gitlab.com/ja-jp/runner/install/linux-repository/)する手順を示しています。\n\n1. GitLabの公式リポジトリを追加します。\n\n```shell\ncurl -L \"https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.deb.sh\" | sudo bash\n```\n\n2. GitLab Runnerの最新バージョンをインストールします。特定バージョンをインストールする場合は次のステップに進んでください。\n\n```shell\nsudo apt install gitlab-runner\n```\n\n3. 特定バージョンのGitLab Runnerをインストールする場合：\n\n```shell\napt-cache madison gitlab-runner\n\nsudo apt install gitlab-runner=17.7.1-1 gitlab-runner-helper-images=17.7.1-1\n```\n\n`gitlab-runner`の特定バージョンを`gitlab-runner-helper-images`の同バージョンなしにインストールしようとすると、次のようなエラーが発生する場合があります。\n\n```shell\nsudo apt install gitlab-runner=17.7.1-1\n\n...\n\nThe following packages have unmet dependencies:\n gitlab-runner : Depends: gitlab-runner-helper-images (= 17.7.1-1) but 17.8.3-1 is to be installed\nE: Unable to correct problems, you have held broken packages.\n```\n\n4. Runnerを登録します。\n\n```shell\nsudo gitlab-runner register\n```\n\n### WindowsおよびmacOSへのインストール\n\nプロジェクトにビルド固有の要件がある場合は、次の手順に従ってWindowsまたはmacOSにGitLab Runnerをインストールすることもできます。\n\n* [GitLab RunnerをWindowsにインストールする](https://docs.gitlab.com/ja-jp/runner/install/windows/)\n\n* [GitLab RunnerをmacOSにインストールする](https://docs.gitlab.com/ja-jp/runner/install/osx/)\n\n### DockerによるRunnerのインストール\n\nDockerはGitLab Runnerをセットアップする最もシンプルかつ迅速な方法の一つです。複雑なインストール作業なしにDockerコンテナ内でRunnerを実行でき、隔離された再現性の高い環境を活用できます。\n\n迅速なテストや一時的な開発環境、またはすでにコンテナを多用しているチームに最適な方法です。\n\n1. コンテナを起動します。\n\n```shell\ndocker run -d --name gitlab-runner --restart always \\ \n  -v /srv/gitlab-runner/config:/etc/gitlab-runner \\\n  -v /var/run/docker.sock:/var/run/docker.sock \\ \n  gitlab/gitlab-runner:latest\n\n```\n\n2. Runnerを登録します。\n\n```shell\ndocker exec -it gitlab-runner gitlab-runner register\n```\n\n### KubernetesによるRunnerのインストール\n\nKubernetesへのGitLab RunnerのインストールはGitLabのHelm Chartを使用します。これはKubernetesクラスター内にGitLab Runnerインスタンスをデプロイする公式の方法です。\n\nGitLabのHelm ChartからGitLab Runnerをインストールする手順は以下のとおりです。\n\n1. GitLab Helmリポジトリを追加します。\n\n```shell\nhelm repo add gitlab https://charts.gitlab.io\n```\n\n2. アクセス可能なGitLab Runnerのバージョンを確認します。\n\n```shell\nhelm search repo -l gitlab/gitlab-runner\n```\n\n3. GitLab Runnerの最新バージョンにアクセスできない場合は、次のコマンドでチャートを更新してください。\n\n```shell\nhelm repo update gitlab\n```\n\n4. `values.yaml`ファイルでGitLab Runnerを設定した後、必要に応じてパラメーターを変更しながら次のコマンドを実行します。\n\n```text\n# For Helm 3\n\nhelm install --namespace \u003CNAMESPACE> gitlab-runner \\ \n  -f \u003CCONFIG_VALUES_FILE> \\ \n  gitlab/gitlab-runner\n```\n\n* `\u003CNAMESPACE>`：GitLab RunnerをインストールするKubernetesの名前空間。\n\n* `\u003CCONFIG_VALUES_FILE>`：カスタム設定が含まれるvaluesファイルへのパス。作成方法はドキュメントをご参照ください。\n\n* 特定バージョンのGitLab Runner Helm Chartをインストールする場合は、`helm install`コマンドに`--version \u003CRUNNER_HELM_CHART_VERSION>`を追加してください。任意バージョンのHelm Chartをインストールできますが、新しい`values.yml`ファイルは古いバージョンと互換性がない場合があります。\n\nKubernetesでGitLab Runnerをインストールする詳細については、[ドキュメント](https://docs.gitlab.com/ja-jp/runner/install/kubernetes/#install-gitlab-runner-with-the-helm-chart)をご覧ください。\n\n> GitLab Runnerのインストールについてのよくあるご質問は、[FAQ](https://docs.gitlab.com/ja-jp/runner/faq/)をご参照ください。\n\n## GitLab Runnerの登録方法\n\nインストール後、[GitLab Runnerを登録](https://docs.gitlab.com/ja-jp/runner/register/)することで、GitLabインスタンスからジョブを取得できるようになります。この手順では、インストール済みのRunnerを1つ以上のGitLabインスタンスに接続します。\n\nGitLab Runnerの登録方法はいくつかあります。本記事では、[認証トークンを使用したRunner登録](https://docs.gitlab.com/ja-jp/runner/register/#register-with-a-runner-authentication-token)に焦点を当てます。\n\n**前提条件**\n\n* Runner認証トークンを取得してください。次のいずれかの方法で取得できます。\n\n  * インスタンス、グループ、またはプロジェクトのRunnerを作成する。手順については[Runnerの管理に関するドキュメント](https://docs.gitlab.com/ja-jp/ci/runners/runners_scope/)をご参照ください。\n  * `config.toml`ファイル内のRunner認証トークンを確認する。Runner認証トークンのプレフィックスは`glrt-`です。\n\nRunnerが登録されると、設定内容は`config.toml`ファイルに保存されます。このファイルはGitLab Runnerのメイン設定ファイルで、RunnerとCI/CDジョブの実行に必要なすべての設定を含んでいます。このファイルはいつでも編集でき、変更内容はサービスの再起動なしに次のジョブから反映されます。\n\nRunner認証トークンを使用してRunnerを登録するには、次の手順を実施します。\n\n1. インストール方法に応じた登録コマンドを実行し、\n\n2. GitLabインスタンスのURL（GitLab.comまたはGitLab Self-Managed）を入力し、\n\n3. Runner認証トークンを入力し、\n\n4. RunnerとジョブタグのDescriptionを追加し、\n\n5. 選択したExecutor（Docker、Shell、Kubernetesなど）を入力します。\n\n同一のホストマシン上で異なる設定を持つ複数のRunnerを登録するには、`register`コマンドを繰り返します。また、同一の設定を複数のホストマシンに登録するには、[各Runner登録で同じRunner認証トークンを使用](https://docs.gitlab.com/ja-jp/runner/fleet_scaling/#reusing-a-runner-configuration)してください。\n\n非インタラクティブモードを使用して、追加の引数でRunnerを登録することもできます。\n\nLinuxを例に挙げると：\n\n```shell\nsudo gitlab-runner register \\\n  --non-interactive \\\n  --url \"https://gitlab.com/\" \\\n  --token \"$RUNNER_TOKEN\" \\\n  --executor \"docker\" \\\n  --docker-image alpine:latest \\\n  --description \"docker-runner\"\n``` \n\n## Runnerの動作確認と使用開始\n\nワークフローにRunnerを組み込む前に、正常に動作しているかどうかを確認してください。\n\n1. GitLab UIで確認する。\n\n  a. プロジェクト内で **設定 > CI/CD > Runners** に移動します。\n\n  b. Runnerが**アクティブかつ正常**であることを確認します。\n\n2. 選択したインストール方法に応じて**コマンドライン**で確認します。\n\n3. `.gitlab-ci.yml`ファイルを作成してシンプルなパイプラインでテストします。\n\n```yaml \n\ntest-runner: \n  stage: test \n  script: \n   - echo \"Hello GitLab Runner\" \n   - hostname \n   - date \ntags: \n   - my-tags # ⚠️ Replace with YOUR runner's tags\n```\n\n## GitLab Runnerのセキュリティと最適化のベストプラクティス\n\n設定が不適切なGitLab Runnerは、パフォーマンスの低下やセキュリティ上の問題を引き起こす可能性があります。[CI/CDパイプライン](https://about.gitlab.com/ja-jp/topics/ci-cd/cicd-pipeline/ \"CI/CDパイプラインとは？\")を最大限に活用するためのベストプラクティスをご紹介します。\n\n### Runnerのセキュリティ\n\n- **隔離された環境を優先する**：ホストマシン上でコマンドを直接実行するShellモードではなく、ジョブ間の明確な分離を提供する**Docker**または**Kubernetes**のExecutorを優先して使用してください。\n\n- **権限を制限する**：必要でない限り、RunnerにAdminの権限を付与しないでください。攻撃対象領域を減らすため、最小限の権限で設定してください。\n\n- **タグによるアクセスを制御する**：特定のジョブのみが実行されるよう、Runnerに特定のタグを割り当ててください。これにより、意図しないジョブが機密性の高いRunner上で実行されるリスクを防げます。\n\n### パイプラインのパフォーマンスと速度\n\n- **軽量イメージを使用する**：Docker ExecutorではビルドやCI要件に最適化されたイメージを選択してください（例：十分であれば`ubuntu`ではなく`alpine`）。これによりコンテナの起動時間を短縮できます。\n\n- **キャッシュを設定する**：GitLabのキャッシュ機能を活用して、複数のパイプライン間で依存関係や生成ファイルを再利用してください。これにより全体的な実行時間が短縮されます。\n\n- **並列実行する**：ジョブを並列で実行できる複数のステージに分割し、パイプライン全体の時間を短縮してください。\n\n### メンテナンスと信頼性\n\n- **Runnerを定期的に更新する**：各バージョンにはバグ修正と新機能が含まれています。RunnerをGitLabのバージョンと同期させておくことで、互換性と安定性が確保されます。\n\n- **Runnerを監視する**：組み込みメトリクス（例：Prometheus経由）を使用して、負荷、ジョブ実行時間、リソース使用状況を追跡してください。これによりボトルネックを事前に把握できます。\n\n- **冗長性を確保する**：重要な環境では、負荷を分散しインシデントによるパイプライン停止を防ぐため、複数のRunnerをインストールしてください。\n\n## GitLab CI/CDをさらに活用するために\n\n**GitLab Runner**は、GitLabのCI/CDパイプライン、セキュリティテスト、完全な自動化と連携することで真の価値を発揮します。共有サービスモデルにおけるGitLab Runnerフリートの管理に関するベストプラクティスについては、[ドキュメント](https://docs.gitlab.com/ja-jp/runner/fleet_scaling/)もあわせてご覧ください。\n\n> **[→ GitLab UltimateおよびGitLab Duo Enterpriseを無料でお試しください。](https://about.gitlab.com/ja-jp/free-trial/devsecops/?utm_medium=blog&utm_source=blog&utm_campaign=eg_apj_x_trial_x_ja_blog_ja)**\n",[23],"2026-03-17","GitLab Runner とは？インストールから設定・活用まで解説",[18,675,676],"DevSecOps platform","DevOps platform","GitLab RunnerはCI/CDパイプラインのジョブを、安定した速度で自動実行します。インストール・設定・最適化を通じて、より安全で再現性の高いビルドを実現しましょう。",{"featured":11,"template":12,"slug":679},"what-is-gitlab-runner",{"content":681,"config":693},{"heroImage":682,"body":683,"authors":684,"updatedDate":687,"date":688,"title":689,"tags":690,"description":692,"category":9},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773279378/otnswn5666i1qd2imyhs.png","企業を取り巻く環境は複雑化しており、コンプライアンスはその中でも特に重要な規制上の要件となっています。とりわけ[ソフトウェア開発](https://about.gitlab.com/ja-jp/solutions/software-compliance/)の分野においては、法令・規制・倫理・業界固有の要件を満たすために、組織が遵守すべき数多くのルール、ガイドライン、ベストプラクティスが存在します。コンプライアンス基準は法的拘束力のある法律から任意のフレームワークにまで及び、適法かつ責任ある事業運営を確保するとともに、データ、顧客、企業の評判を守るための役割を担っています。\n\n本記事では、開発プロセスにおいて継続的なコンプライアンスを確保する方法を解説します——自動化によって摩擦を排除し、開発の妨げにならずに支援する仕組みを実現する方法です。GitLabのウェビナーから抜粋した動画も併せてご紹介します。\n\n> **[ウェビナー \"Intelligent Orchestrationが導くAgentic AIの未来\" を無料でご覧ください。](https://page.gitlab.com/webcast-april8-dapwebinar-apac.html?utm_medium=webinar&utm_source=twitter&utm_campaign=eg_japan_fmm_webcast_x_ja_)**\n\n## コンプライアンス基準に取り組む際の課題\n\n従来のコンプライアンスアプローチは摩擦を生み出し、開発チームの作業速度を低下させます。管理業務が増加し、時間とリソースが消耗されることで、セキュリティが追加負担と見なされ、後回しにされがちになります。\n\n## コンプライアンス管理の自動化：実践例\n\nセキュリティ分野で急成長中のB2B企業が、新たな顧客獲得を目指しているとします。市場環境とターゲット顧客から、情報セキュリティ分野における厳格な基準（例：ISO 27001）の遵守が求められています。\n\nこのような認証を取得するには、[組織全体での多大な取り組み](https://about.gitlab.com/ja-jp/blog/how-gitlab-can-support-your-iso-compliance-journey/)が必要です。開発チーム、マネージャー、セキュリティチームが緊密に連携し、日常業務のプレッシャーの中でも認証取得と成長の両立を実現しなければなりません。\n\n> **12倍の迅速な展開：GitLabの完全な統合により、Hiltiは効率を実現。**\n>\n> [GitLab](https://about.gitlab.com/ja-jp/)は完全な可視性、包括的なコード管理、充実したセキュリティスキャンを提供し、Hiltiの新たなソフトウェア能力を支えています。Hiltiがいかにソフトウェア開発を革新したかをご覧ください。**[事例を読む](https://about.gitlab.com/ja-jp/customers/hilti/)**\n\n### 企業内でのコンプライアンス実装\n\nコンプライアンス基準を組織内に導入するには、体系的なプロセスが必要です。\n\n1. **コンプライアンスプロセスの定義：** 監査人の要件から具体的な対応策を導出する\n2. **現状のコンプライアンス状況の把握：** 対象プロジェクトの定義\n3. **是正措置の実施：** プロジェクトへの新しいプロセスと修正の実装\n4. **コンプライアンスの証明：** 経営陣と監査人へのレポーティング\n\n最大の課題は、情報収集に伴う高い手動作業コストです。このプロセスへの複数チームの関与が、調整コストの増大と日常業務の中断を招きます。\n\n## GitLabによるコンプライアンス管理の自動化：手順ガイド\n\nコンプライアンス基準の認証に関するすべての要件がソフトウェア開発の範囲に含まれるわけではありません。しかし、開発チームの認証取得における手動作業を最小限に抑え、時間を節約するために、GitLabはコンプライアンス管理の自動化を支援します。\n\n目標は、担当者がチェックリストを埋めるだけの作業ではなく、真の価値を提供できるようにすることです。\n\n### 1. Compliance Centerの活用\n\nGitLabのCompliance Centerは、すべての情報を一目で把握できる中央ダッシュボードです。この一元的なビューから、対象となるすべてのプロジェクトのコンプライアンス状況を確認できます。\n\nCompliance Centerにアクセスするには、GitLabアカウントの左側ナビゲーションバーで「**Secure**」>「**Compliance Center**」をクリックしてください。\n\n\u003Ciframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/7db0giY66Zg?si=F1k_mZVWC1r8T68M\" title=\"YouTube video player\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen>\u003C/iframe>\n\n> **[ウェビナー \"Intelligent Orchestrationが導くAgentic AIの未来\" を無料でご覧ください。](https://page.gitlab.com/webcast-april8-dapwebinar-apac.html?utm_medium=webinar&utm_source=twitter&utm_campaign=eg_japan_fmm_webcast_x_ja_)**\n\n### 2. フレームワークの作成\n\n各コンプライアンス基準を確実に遵守するには、対応するフレームワークを活用する必要があります。各組織には、業界標準、規制要件、または内部ポリシーに基づく固有のコンプライアンス要件があります。これらは「Frameworks」タブにおいて、自動的に監視・適用されるようGitLabでモデル化できます。\n\nGitLabでは、[独自フレームワークの作成](https://about.gitlab.com/ja-jp/blog/how-to-use-gitlabs-custom-compliance-frameworks-in-your-devsecops/)も、既存の[テンプレート](https://gitlab.com/gitlab-org/software-supply-chain-security/compliance/engineering/compliance-adherence-templates)を自社ニーズに合わせてカスタマイズして利用することも可能です。\n\n*この動画（英語）では、新しいフレームワークを作成するプロセスをステップバイステップでご案内します。*\n\n\u003Ciframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/bSwwv5XeMdQ?si=azLY5wJlSLkX2Fgc\" title=\"YouTube video player\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen>\u003C/iframe>\n\n[新しいフレームワーク](https://about.gitlab.com/ja-jp/blog/business-value-framework/)を作成するには、以下の手順が必要です。\n\n* **名前と説明を設定する：** フレームワークの目的と重要性を伝えます。\n* **カラーバッジを選択する：** プロジェクト横断的なフレームワークの識別子として機能します。\n* **（オプション）フレームワークをデフォルトとして設定する：** 最初からコンプライアンス要件が維持されるようにし、ガイドレールを設定します。\n* **要件を追加する：** 上位のコンプライアンス目標を表します。\n\n* **名前と説明を追加する：** 要件の目的と重要性を伝えます。\n* **コントロールを設定する：** 自動的に確認・検証できる技術的なチェックを定義します。\n\n**例：** 「Segregation of Duties」という要件は、コードレビューの実施を確保します。自身のマージリクエストの承認を防止するために、「Author approved merge request is forbidden」と「At least one approval」というコントロールを作成することで、コードの変更が必ず別の担当者によってレビュー・承認されるよう保証します。\n\n\u003Ciframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/qMxRnEh4t6Q?si=GaKiyExLTZ29zSaM\" title=\"YouTube video player\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen>\u003C/iframe>\n\n> **[ウェビナー \"Intelligent Orchestrationが導くAgentic AIの未来\" を無料でご覧ください。](https://page.gitlab.com/webcast-april8-dapwebinar-apac.html?utm_medium=webinar&utm_source=twitter&utm_campaign=eg_japan_fmm_webcast_x_ja_)**\n\n新しいフレームワークに対する具体的な要件が定義されたら、フレームワークを作成できます。コンプライアンス要件はフレームワークを通じて自動チェックに変換されるため、手動による確認は不要になります。\n\nこのポリシーはプロジェクトに適用できるようになります。\n\n### 3. フレームワークをプロジェクトに追加する\n\nコンプライアンス監視を開始するには、フレームワークを対象プロジェクトに割り当てる必要があります。\n\n「**Projects**」タブでは、すべてのプロジェクトと適用されているフレームワークを確認できます。個別のプロジェクトに新しいフレームワークを追加するには、「**Action**」列でプロジェクトを編集して対応するフレームワークを追加します。\n\n一括編集機能を使用すると、すべてのプロジェクトにフレームワークを一度に追加できます。\n\n* すべてのプロジェクトを選択する\n* 「**Choose one bulk action**」オプションをクリックする\n* 「**Apply frameworks to selected projects**」をクリックする\n* 「**Select framework**」をクリックして対応するフレームワークを選択する\n* 「**Apply**」をクリックする\n\nフレームワークをプロジェクトに追加すると、開発チームを妨げることなくコンプライアンス監視が自動的に開始されます。別途オンボーディングプロセスや手動で記入するフォームは一切不要です。\n\n### 4. コンプライアンスステータスレポートの活用\n\nコンプライアンスステータスレポートは、プロジェクトと対応する要件の概要を提供します。どの要件が達成され、どれが未達成かを明確に把握できます。\n\nCompliance Centerの「**Status**」タブでは、すべてのプロジェクトにわたるフレームワーク遵守状況の詳細ビューを確認できます。\n\nフィルター機能により、多数のプロジェクトを抱える大規模な組織でも簡単にナビゲートできます。レポーティングをニーズに合わせてカスタマイズし、各ステークホルダーに関連するレポートを正確に生成することが可能です。\n\nステータスレポートは、緑と赤のフラグによって現在の要件を視覚的に素早く評価し、特定のコントロールを通知し、煩雑な監査なしに問題を迅速に特定できるため、透明性を実現します。\n\nこれにより、コンプライアンス状況と講じるべき対策を明確に把握できます。\n\n### 5. コンプライアンス違反を直接解決する\n\nステータスレポートで失敗した要件が表示された場合は、[直接解決](https://about.gitlab.com/ja-jp/blog/how-to-transform-compliance-observation-management-with-gitlab/)できます。各プロジェクトについて、どのコントロールが失敗したかが表示されます。対応するエラーをクリックすると、問題のドキュメントが開きます。\n\nドキュメントに加えて、関連するプロジェクト設定に直接誘導されるため、対象プロジェクト内を長時間検索することなく、問題をすぐに修正できます。\n\n\u003Ciframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/lhFpiNnZWT0?si=n8NYs0KBrIoAbhxH\" title=\"YouTube video player\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen>\u003C/iframe>\n\n> **[ウェビナー \"Intelligent Orchestrationが導くAgentic AIの未来\" を今無料でご覧ください。](https://page.gitlab.com/webcast-april8-dapwebinar-apac.html?utm_medium=webinar&utm_source=twitter&utm_campaign=eg_japan_fmm_webcast_x_ja_)**\n\n### 6. 複数プロジェクトにわたるコンプライアンス要件の是正\n\n複数のプロジェクトにコンプライアンス要件を定義している場合は、すべてを手動で確認するのではなく、関連する修正を自動化して実行できます。そのためにセキュリティポリシーを活用します。セキュリティポリシーは、セキュリティ関連のコントロールをプロジェクト・グループ・フレームワークレベルで標準ワークフローの一部として適用するものです。\n\nGitLabアカウントの左側ナビゲーションバーで「**Secure**」>「**Policies**」をクリックしてください。\n\n「**New Policy**」から、複数プロジェクトに対する自動コンプライアンス要件を有効化できます。選択できるポリシーは以下のとおりです。\n\n* [Scan execution policy](https://docs.gitlab.com/user/application_security/policies/scan_execution_policies/)：パイプラインの一部として、またはスケジュールに従ってセキュリティスキャンを実行します。\n* [Merge request approval policy](https://docs.gitlab.com/user/application_security/policies/merge_request_approval_policies/)：プロジェクトレベルの設定と、スキャン結果に基づく承認ルールを適用します。\n* [Pipeline execution policy](https://docs.gitlab.com/user/application_security/policies/pipeline_execution_policies/)：プロジェクトパイプラインの一部としてCI/CDジョブを強制実行します。\n* [Vulnerability management policy](https://docs.gitlab.com/user/application_security/policies/vulnerability_management_policy/)：デフォルトブランチで検出されなくなったセキュリティ上の脆弱性を自動的に修正します。\n\nたとえば「Secret Detection」の分野で包括的なセキュリティ対策を設定するには、以下の手順に従ってください。\n\n* 「**New Policy**」をクリックする\n* 「**Scan execution policy**」を選択する\n* 名前を定義する\n* ポリシーの適用範囲として以下のいずれかを選択する\n\n* すべてのプロジェクト（「**all projects in this group**」）\n* 特定のプロジェクト（「**specific projects**」）または\n* コンプライアンスフレームワーク（「**projects with compliance framework**」＋関連フレームワーク）\n* 「**Configuration Type**」でポリシーのテンプレートを使用するか、個別設定を使用するかを選択する\n* 新しいポリシーを保存する\n\n保存されると、ポリシーは自動的に適用されます。このプロジェクトでのすべてのパイプライン実行に「Secret Detection」要件が含まれるようになります。\n\n### 7. GitLabによるレポーティングと監査サポート\n\nコンプライアンス管理の自動化は、開発者の日常業務をサポートするだけでなく、関連するステークホルダーへのレポーティングも容易にします。Compliance Centerを使用すると、規制当局、顧客、その他のステークホルダーとのコミュニケーションを効率化する包括的なレポーティングツールが利用できます。\n\nCompliance Centerでは以下の情報を確認できます。\n\n* コンプライアンスフレームワークでカバーされている**プロジェクトの総数**\n* **コンプライアンス達成率**（コンプライアンス要件を満たしているプロジェクトの割合）\n* 組織全体の**アクティブなフレームワーク**\n* 対応が必要な**重大な違反**\n\nGitLabは情報の流れを自動化し、手動の調整作業を排除してリアルタイムデータを処理することで、ステータスの把握を効率化します。豊富なエクスポート形式により、外部へのレポーティングも容易に実現できます。\n\n> **GitLabを活用したコンプライアンスプロセスについて、[お問い合わせをお待ちしております。](https://about.gitlab.com/ja-jp/sales/)**\n\n## GitLabによる自動化されたコンプライアンス管理のメリット\n\n* **Single Source of Truth：** 手動のExcelリストや調整ミーティングの代わりに、GitLabがコンプライアンス管理の一元的な拠点を提供します。\n* **統合されたコンプライアンス：** 追加のプロセス負荷なしに、コンプライアンスを開発プロセスに組み込みます。\n* **高い効率性：** 追加の手動ワークフローなしにコンプライアンスを実現します。\n* **直接的な対応：** GitLabはコンプライアンスチェックを自動化し、違反を即座に検出してシンプルに解決できるようにします。\n* **フォーカスの向上：** 開発チームが日常業務に集中できるようになります。\n* **高いセキュリティ：** コンプライアンスが組織内の中核的なフレームワークとして確立されます。\n* **可視性の向上：** コンプライアンス担当者とコンプライアンス対策の組織内での認知度が高まります。\n* **簡素化されたレポーティング：** 監査人が関連するすべての証拠をタイムリーに受け取れます。\n\n> **「この最適化されたアプローチは、コンプライアンスを反応的で時間のかかるプロセスから、組織とともにスケールするプロアクティブで効率的なシステムへと変革します。」**\n>\n> – Karolina Franz、Solutions Architect @GitLab\n>\n> **[ウェビナー \"Intelligent Orchestrationが導くAgentic AIの未来\" を無料でご覧ください。](https://page.gitlab.com/webcast-april8-dapwebinar-apac.html?utm_medium=webinar&utm_source=twitter&utm_campaign=eg_japan_fmm_webcast_x_ja_)**\n\n## GitLabによるコンプライアンスプロセス\n\nGitLabによるコンプライアンス管理の自動化には数多くのメリットがあります。本記事の冒頭で述べたように、コンプライアンス基準を確保するには組織に体系的なプロセスが必要です。\n\nGitLabは以下の方法でそのようなプロセスの構築を支援します。\n\n* **コンプライアンスプロセスの定義：** 独自フレームワークにより、あらゆるコンプライアンス基準をモデル化・監視できます。これにより、ボトルネックなしに組織全体でコンプライアンスをスケールできるようになります。\n* **現状のコンプライアンス状況の把握：** 包括的な監視によってすべての関連プロジェクトと要件を把握し、監査前に違反を通知するため、迅速な対応が可能です。\n* **是正措置の実施：** ポリシーを活用することで、すべてのプロジェクトとチームにわたってコンプライアンス基準を自動的に確保できます。\n* **コンプライアンスの証明：** レポーティングにはCompliance Centerを利用できます。すべてのプロジェクトを一元的に表示し、手動のステータス確認とワークフローを排除して、証拠が正確に提供されるよう保証します。\n\n## まとめ\n\nコンプライアンスは一度限りの監査プロジェクトではなく、ソフトウェア開発に直接統合される必要がある継続的なプロセスです。手動による検査や孤立したワークフローはすぐに限界に達し、チームの作業速度を低下させます。\n\nGitLabを使用することで、コンプライアンス要件を自動化・検証可能な基準に変換できます。フレームワーク、ポリシー、一元的な監視を通じて、開発者への追加負荷なしに、コンプライアンスが透明性・スケーラビリティ・実行力を持つものになります。こうしてコンプライアンスは、セキュアなソフトウェア開発と持続的な成長のための信頼できる基盤となります。\n\n> **規制要件を開発プロセスに直接組み込む**\n>\n> コンプライアンス管理を自動化し、開発チームの力を引き出して、組織全体でコンプライアンスを持続的にスケールさせましょう。\n>\n> **[今すぐ始める](https://about.gitlab.com/ja-jp/free-trial/)**\n",[685,686],"Sarah Matthies","Karolina Franz","2026-03-18","2026-03-16","コンプライアンス管理の自動化：GitLabを活用した実践ガイド",[9,691],"tutorial","GitLabのドイツチームによる詳細なガイドで、GitLabを活用したコンプライアンス管理の効果的な実践方法をご紹介します。",{"featured":28,"template":12,"slug":694},"automated-compliance-management",{"content":696,"config":706},{"title":697,"description":698,"authors":699,"heroImage":701,"body":702,"date":703,"category":9,"tags":704},"GitLabの新しいメトリクスとレジストリ機能でCI/CDのボトルネックを解消","現在ベータ版として提供中のCI/CDジョブパフォーマンスメトリクスとコンテナバーチャルレジストリにより、プラットフォームチームが遅いジョブを素早く特定し、マルチレジストリのコンテナプルを簡素化する方法をご紹介します。",[700],"Talia Armato-Helle","https://res.cloudinary.com/about-gitlab-com/image/upload/v1771438388/t6sts5qw4z8561gtlxiq.png","プラットフォームエンジニアやDevOpsエンジニアは、断片化されたツール間の可視性を確保したり、本来スムーズに動作すべきインフラストラクチャを管理したりするために、多くの時間を費やしています。\n\n現在ベータ版として提供中の2つの新しいGitLab機能は、異なる角度からこの課題に取り組みつつ、同じ目標を共有しています。それは、サードパーティツールを追加することなく、CI/CDインフラストラクチャを直接制御できるようにすることです。1つはパイプラインの監視画面でジョブレベルのパフォーマンスデータを表示する機能、もう1つはビルトインキャッシュを活用して複数のレジストリからコンテナイメージをプルする作業を簡素化する機能です。\n\nどちらの機能も現在フィードバックを受け付けています。皆さまのご意見が、今後のリリース内容を形作る重要な要素となります。\n\n## CI/CDジョブパフォーマンスメトリクス\n\n* **対象プラン：** GitLab Premium、GitLab Ultimate\n* **ステータス：** GitLab.comでは限定公開ベータ版として提供中。GitLab Self-ManagedおよびGitLab Dedicatedでは、ClickHouseの設定後に利用可能\n\n現状では、特定のジョブの実行時間が増加し始めたタイミングや、パイプラインの実行時間を密かに低下させているジョブを簡単に確認する方法がありません。多くのチームは、以下のような基本的な疑問に答えるために、カスタムダッシュボードを構築するか、ログを手動で調査しています。\n\n* 最も遅いジョブはどれか\n* 失敗率が上昇しているのはどこか\n* 本当のボトルネックはどのステージか\n\nCI/CDジョブパフォーマンスメトリクスは、プロジェクトレベルのCI/CD分析ページにジョブに特化した新しいパネルを追加することで、この課題を解決します。\n\nパイプライン内の各ジョブについて、以下の情報を確認できます。\n\n* 標準的な実行時間（P50、中央値）と最悪ケースの実行時間（P95）により、通常の実行と最も遅い実行を素早く比較可能\n* 失敗率の表示により、不安定なジョブやフレーキーなジョブを特定可能\n* ジョブ名とステージ（デフォルトで過去30日間のデータを表示）\n\nテーブルはソート、ジョブ名での検索、ページネーションに対応しており、プラットフォームチームは、従来は別々のツールやカスタムレポートが必要だった疑問に対して、単一のビューで回答を得られます。\n\n**今すぐお試しください**\n\n* プロジェクトに移動し、**分析 \\> CI/CD分析**を選択してください。\n* CI/CDジョブパフォーマンスメトリクスパネルを探し、実行時間や失敗率でソートして、最も遅いジョブや信頼性の低いジョブを見つけてください。\n\n**ドキュメント**\n\n* [CI/CD分析 – CI/CDジョブパフォーマンスメトリクス](https://docs.gitlab.com/user/analytics/ci_cd_analytics/#cicd-job-performance-metrics)\n\n**今後の予定**\n\nステージレベルのグルーピング機能の開発を進めており、ビルド、テスト、デプロイの各ステージにわたる集計メトリクスを表示し、最適化に注力すべきポイントを素早く把握できるようになります。\n\n**フィードバックをお寄せください：**\n\n* [CI/CDジョブパフォーマンスメトリクスのエピック](https://gitlab.com/groups/gitlab-org/-/work_items/18548)\n\n## コンテナバーチャルレジストリ\n\n**対象プラン：** GitLab Premium、GitLab Ultimate\n**ステータス：** ベータ版、18.9でAPI対応\n\nCI/CDパイプラインにコンテナイメージをプルする多くの組織は、Docker Hub、Harbor、Quay、社内レジストリなど、複数のレジストリに依存しています。これらすべてにわたる認証、可用性、キャッシュの管理は、パイプラインの速度低下や脆弱性の原因となる運用上のオーバーヘッドです。\n\nコンテナバーチャルレジストリを使用すると、ビルトインキャッシュを備えた単一のGitLabエンドポイントを作成し、複数のアップストリームコンテナソースからプルできるようになります。\n\nパイプライン設定で各レジストリの認証情報や可用性を個別に構成する代わりに、以下のことが可能です。\n\n* パイプラインを1つのGitLabバーチャルレジストリエンドポイントに向ける\n* 複数のアップストリームレジストリ（Docker Hub、Harbor、Quay、および長期トークン認証を使用するその他のレジストリ）を設定する\n* GitLabがイメージプルを自動的に解決し、プルスルーキャッシュにより帯域幅コストの削減と信頼性の向上を実現\n\nGitLabをコンテナレジストリの代替として評価しているチームにとって、これは重要な機能ギャップを埋めるものです。すでにマルチレジストリのコンテナワークフローを管理しているチームにとっては、イメージ管理をGitLabに集約し、重複するプルを削減できます。\n\n**現在のベータ版でサポートされている機能**\n\n* 長期トークン認証を使用するアップストリームレジストリ：Docker Hub、Harbor、Quay、およびその他の互換性のあるレジストリ\n* プルスルーキャッシュにより、よく使用されるイメージは初回プル後にGitLabから提供\n* APIファーストの設定（UI管理は開発中）\n\nIAM認証を必要とするクラウドプロバイダーのレジストリ（Amazon Elastic Container Registry、Google Artifact Registry、Azure Container Registryなど）は、今後のイテレーションでの対応を検討中です。\n\n**今すぐお試しください**\n\n* コンテナバーチャルレジストリは18.9でAPI対応済みです。\n* SaaS（GitLab.com）：CSMにご連絡いただくか、以下のフィードバックイシューにコメントして、グループの機能フラグを有効にするようリクエストしてください。\n* Self-Managed：機能フラグを有効にし、APIを使用してバーチャルレジストリを設定してください。\n\n**ドキュメント**\n\n* [コンテナバーチャルレジストリAPI](https://docs.gitlab.com/api/container_virtual_registries/)\n* [バーチャルレジストリからコンテナイメージをプルする](https://docs.gitlab.com/user/packages/virtual_registry/container/#pull-container-images-from-the-virtual-registry)\n\n\n コンテナバーチャルレジストリベータ版のウォークスルーをご覧ください：\n   \n\n  \u003Ciframe src=\"https://player.vimeo.com/video/1167512082?title=0&amp;byline=0&amp;portrait=0&amp;badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479\" frameborder=\"0\" allow=\"autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" style=\"position:absolute;top:0;left:0;width:100%;height:100%;\" title=\"20260223_Container Virtual Registry Beta_V1\">\u003C/iframe>\u003C\u003Cscript src=\"https://player.vimeo.com/api/player.js\">\u003C/script>\n\n  \u003Cbr>\u003C/br>\n\n\n\n**フィードバックをお寄せください：**\n\n* [コンテナバーチャルレジストリのフィードバックイシュー](https://gitlab.com/gitlab-org/gitlab/-/issues/589630)\n\n## 重要な機能の開発にご協力ください\n\nGitLabコミュニティの全員がコントリビューターです。これらのベータ版は、コミュニティからのリクエストに基づいて開発されました。\n\n* **CI/CDジョブパフォーマンスメトリクス**は、ビルド時間が悪化し始めたタイミングや、パイプラインの信頼性を損なっているジョブを簡単に確認する方法がなかったチームからの要望に基づいています。\n* **コンテナバーチャルレジストリ**は、複数のレジストリを管理し、ツールの乱立や帯域幅コストを削減しながら、GitLabを中央レジストリとして評価しているエンタープライズのお客様からの要望に基づいています。\n\n皆さまのフィードバックが、次に開発する機能を形作ります。これらのベータ版の一方または両方をお試しいただき、リンク先のフィードバックイシューでご体験を共有してください。\n\nこれは、今年を通じてハイライトしていく予定のCore DevOpsベータ版シリーズの第1弾です。今後もさらに多くの機能が登場する予定ですので、皆さまのご協力により、できる限り有用なものにしていきたいと考えています。\n","2026-02-25",[18,9,705],"features",{"featured":28,"template":12,"slug":707},"new-gitlab-metrics-and-registry-features-help-reduce-ci-cd-bottlenecks",{"promotions":709},[710,724,736],{"id":711,"categories":712,"header":714,"text":715,"button":716,"image":721},"ai-modernization",[713],"ai-ml","Is AI achieving its promise at scale?","Quiz will take 5 minutes or less",{"text":717,"config":718},"Get your AI maturity score",{"href":719,"dataGaName":720,"dataGaLocation":241},"/assessments/ai-modernization-assessment/","modernization assessment",{"config":722},{"src":723},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/qix0m7kwnd8x2fh1zq49.png",{"id":725,"categories":726,"header":728,"text":715,"button":729,"image":733},"devops-modernization",[9,727],"devsecops","Are you just managing tools or shipping innovation?",{"text":730,"config":731},"Get your DevOps maturity score",{"href":732,"dataGaName":720,"dataGaLocation":241},"/assessments/devops-modernization-assessment/",{"config":734},{"src":735},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138785/eg818fmakweyuznttgid.png",{"id":737,"categories":738,"header":740,"text":715,"button":741,"image":745},"security-modernization",[739],"security","Are you trading speed for security?",{"text":742,"config":743},"Get your security maturity score",{"href":744,"dataGaName":720,"dataGaLocation":241},"/assessments/security-modernization-assessment/",{"config":746},{"src":747},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/p4pbqd9nnjejg5ds6mdk.png",{"header":749,"blurb":750,"button":751,"secondaryButton":755},"今すぐ開発をスピードアップ","DevSecOpsに特化したインテリジェントオーケストレーションプラットフォームで実現できることをご確認ください。\n",{"text":45,"config":752},{"href":753,"dataGaName":48,"dataGaLocation":754},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/ja-jp/","feature",{"text":50,"config":756},{"href":52,"dataGaName":53,"dataGaLocation":754},1773871226249]