[{"data":1,"prerenderedAt":822},["ShallowReactive",2],{"/ja-jp/blog/categories/customer-stories/":3,"navigation-ja-jp":22,"banner-ja-jp":439,"footer-ja-jp":451,"customer-stories-category-page-ja-jp":661},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"seo":8,"content":11,"config":12,"_id":15,"_type":16,"title":17,"_source":18,"_file":19,"_stem":20,"_extension":21},"/ja-jp/blog/categories/customer-stories","categories",false,"",{"title":9,"description":10},"お客様事例","Browse articles related to お客様事例 on the GitLab Blog",{"name":9},{"template":13,"slug":14,"hide":6},"BlogCategory","customer-stories","content:ja-jp:blog:categories:customer-stories.yml","yaml","Customer Stories","content","ja-jp/blog/categories/customer-stories.yml","ja-jp/blog/categories/customer-stories","yml",{"_path":23,"_dir":24,"_draft":6,"_partial":6,"_locale":7,"data":25,"_id":435,"_type":16,"title":436,"_source":18,"_file":437,"_stem":438,"_extension":21},"/shared/ja-jp/main-navigation","ja-jp",{"logo":26,"freeTrial":31,"sales":36,"login":41,"items":46,"search":379,"minimal":413,"duo":426},{"config":27},{"href":28,"dataGaName":29,"dataGaLocation":30},"/ja-jp/","gitlab logo","header",{"text":32,"config":33},"無料トライアルを開始",{"href":34,"dataGaName":35,"dataGaLocation":30},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com&glm_content=default-saas-trial/","free trial",{"text":37,"config":38},"お問い合わせ",{"href":39,"dataGaName":40,"dataGaLocation":30},"/ja-jp/sales/","sales",{"text":42,"config":43},"サインイン",{"href":44,"dataGaName":45,"dataGaLocation":30},"https://gitlab.com/users/sign_in/","sign in",[47,91,190,195,301,361],{"text":48,"config":49,"cards":51,"footer":74},"プラットフォーム",{"dataNavLevelOne":50},"platform",[52,58,66],{"title":48,"description":53,"link":54},"最も包括的かつAIで強化されたDevSecOpsプラットフォーム",{"text":55,"config":56},"プラットフォームを詳しく見る",{"href":57,"dataGaName":50,"dataGaLocation":30},"/ja-jp/platform/",{"title":59,"description":60,"link":61},"GitLab Duo（AI）","開発のすべてのステージでAIを活用し、ソフトウェアをより迅速にビルド",{"text":62,"config":63},"GitLab Duoのご紹介",{"href":64,"dataGaName":65,"dataGaLocation":30},"/ja-jp/gitlab-duo/","gitlab duo ai",{"title":67,"description":68,"link":69},"GitLabが選ばれる理由","GitLabが大企業に選ばれる理由10選",{"text":70,"config":71},"詳細はこちら",{"href":72,"dataGaName":73,"dataGaLocation":30},"/ja-jp/why-gitlab/","why gitlab",{"title":75,"items":76},"利用を開始：",[77,82,87],{"text":78,"config":79},"プラットフォームエンジニアリング",{"href":80,"dataGaName":81,"dataGaLocation":30},"/ja-jp/solutions/platform-engineering/","platform engineering",{"text":83,"config":84},"開発者の経験",{"href":85,"dataGaName":86,"dataGaLocation":30},"/ja-jp/developer-experience/","Developer experience",{"text":88,"config":89},"MLOps",{"href":90,"dataGaName":88,"dataGaLocation":30},"/ja-jp/topics/devops/the-role-of-ai-in-devops/",{"text":92,"left":93,"config":94,"link":96,"lists":100,"footer":172},"製品",true,{"dataNavLevelOne":95},"solutions",{"text":97,"config":98},"すべてのソリューションを表示",{"href":99,"dataGaName":95,"dataGaLocation":30},"/ja-jp/solutions/",[101,127,150],{"title":102,"description":103,"link":104,"items":109},"自動化","CI/CDと自動化でデプロイを加速",{"config":105},{"icon":106,"href":107,"dataGaName":108,"dataGaLocation":30},"AutomatedCodeAlt","/ja-jp/solutions/delivery-automation/","automated software delivery",[110,114,118,123],{"text":111,"config":112},"CI/CD",{"href":113,"dataGaLocation":30,"dataGaName":111},"/ja-jp/solutions/continuous-integration/",{"text":115,"config":116},"AIアシストによる開発",{"href":64,"dataGaLocation":30,"dataGaName":117},"AI assisted development",{"text":119,"config":120},"ソースコード管理",{"href":121,"dataGaLocation":30,"dataGaName":122},"/ja-jp/solutions/source-code-management/","Source Code Management",{"text":124,"config":125},"自動化されたソフトウェアデリバリー",{"href":107,"dataGaLocation":30,"dataGaName":126},"Automated software delivery",{"title":128,"description":129,"link":130,"items":135},"セキュリティ","セキュリティを損なうことなくコードをより迅速に完成",{"config":131},{"href":132,"dataGaName":133,"dataGaLocation":30,"icon":134},"/ja-jp/solutions/security-compliance/","security and compliance","ShieldCheckLight",[136,140,145],{"text":137,"config":138},"セキュリティとコンプライアンス",{"href":132,"dataGaLocation":30,"dataGaName":139},"Security & Compliance",{"text":141,"config":142},"ソフトウェアサプライチェーンの安全性",{"href":143,"dataGaLocation":30,"dataGaName":144},"/ja-jp/solutions/supply-chain/","Software supply chain security",{"text":146,"config":147},"コンプライアンスとガバナンス",{"href":148,"dataGaLocation":30,"dataGaName":149},"/ja-jp/solutions/continuous-software-compliance/","Compliance and governance",{"title":151,"link":152,"items":157},"測定",{"config":153},{"icon":154,"href":155,"dataGaName":156,"dataGaLocation":30},"DigitalTransformation","/ja-jp/solutions/visibility-measurement/","visibility and measurement",[158,162,167],{"text":159,"config":160},"可視性と測定",{"href":155,"dataGaLocation":30,"dataGaName":161},"Visibility and Measurement",{"text":163,"config":164},"バリューストリーム管理",{"href":165,"dataGaLocation":30,"dataGaName":166},"/ja-jp/solutions/value-stream-management/","Value Stream Management",{"text":168,"config":169},"分析とインサイト",{"href":170,"dataGaLocation":30,"dataGaName":171},"/ja-jp/solutions/analytics-and-insights/","Analytics and insights",{"title":173,"items":174},"GitLabが活躍する場所",[175,180,185],{"text":176,"config":177},"Enterprise",{"href":178,"dataGaLocation":30,"dataGaName":179},"/ja-jp/enterprise/","enterprise",{"text":181,"config":182},"スモールビジネス",{"href":183,"dataGaLocation":30,"dataGaName":184},"/ja-jp/small-business/","small business",{"text":186,"config":187},"公共機関",{"href":188,"dataGaLocation":30,"dataGaName":189},"/ja-jp/solutions/public-sector/","public sector",{"text":191,"config":192},"価格",{"href":193,"dataGaName":194,"dataGaLocation":30,"dataNavLevelOne":194},"/ja-jp/pricing/","pricing",{"text":196,"config":197,"link":199,"lists":203,"feature":288},"関連リソース",{"dataNavLevelOne":198},"resources",{"text":200,"config":201},"すべてのリソースを表示",{"href":202,"dataGaName":198,"dataGaLocation":30},"/ja-jp/resources/",[204,237,260],{"title":205,"items":206},"はじめに",[207,212,217,222,227,232],{"text":208,"config":209},"インストール",{"href":210,"dataGaName":211,"dataGaLocation":30},"/ja-jp/install/","install",{"text":213,"config":214},"クイックスタートガイド",{"href":215,"dataGaName":216,"dataGaLocation":30},"/ja-jp/get-started/","quick setup checklists",{"text":218,"config":219},"学ぶ",{"href":220,"dataGaLocation":30,"dataGaName":221},"https://university.gitlab.com/","learn",{"text":223,"config":224},"製品ドキュメント",{"href":225,"dataGaName":226,"dataGaLocation":30},"https://docs.gitlab.com/","product documentation",{"text":228,"config":229},"ベストプラクティスビデオ",{"href":230,"dataGaName":231,"dataGaLocation":30},"/ja-jp/getting-started-videos/","best practice videos",{"text":233,"config":234},"インテグレーション",{"href":235,"dataGaName":236,"dataGaLocation":30},"/ja-jp/integrations/","integrations",{"title":238,"items":239},"検索する",[240,245,250,255],{"text":241,"config":242},"お客様成功事例",{"href":243,"dataGaName":244,"dataGaLocation":30},"/ja-jp/customers/","customer success stories",{"text":246,"config":247},"ブログ",{"href":248,"dataGaName":249,"dataGaLocation":30},"/ja-jp/blog/","blog",{"text":251,"config":252},"リモート",{"href":253,"dataGaName":254,"dataGaLocation":30},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"text":256,"config":257},"TeamOps",{"href":258,"dataGaName":259,"dataGaLocation":30},"/ja-jp/teamops/","teamops",{"title":261,"items":262},"つなげる",[263,268,273,278,283],{"text":264,"config":265},"GitLabサービス",{"href":266,"dataGaName":267,"dataGaLocation":30},"/ja-jp/services/","services",{"text":269,"config":270},"コミュニティ",{"href":271,"dataGaName":272,"dataGaLocation":30},"/community/","community",{"text":274,"config":275},"フォーラム",{"href":276,"dataGaName":277,"dataGaLocation":30},"https://forum.gitlab.com/","forum",{"text":279,"config":280},"イベント",{"href":281,"dataGaName":282,"dataGaLocation":30},"/events/","events",{"text":284,"config":285},"パートナー",{"href":286,"dataGaName":287,"dataGaLocation":30},"/ja-jp/partners/","partners",{"backgroundColor":289,"textColor":290,"text":291,"image":292,"link":296},"#2f2a6b","#fff","ソフトウェア開発の未来への洞察",{"altText":293,"config":294},"ソースプロモカード",{"src":295},"/images/navigation/the-source-promo-card.svg",{"text":297,"config":298},"最新情報を読む",{"href":299,"dataGaName":300,"dataGaLocation":30},"/ja-jp/the-source/","the source",{"text":302,"config":303,"lists":305},"Company",{"dataNavLevelOne":304},"company",[306],{"items":307},[308,313,319,321,326,331,336,341,346,351,356],{"text":309,"config":310},"GitLabについて",{"href":311,"dataGaName":312,"dataGaLocation":30},"/ja-jp/company/","about",{"text":314,"config":315,"footerGa":318},"採用情報",{"href":316,"dataGaName":317,"dataGaLocation":30},"/jobs/","jobs",{"dataGaName":317},{"text":279,"config":320},{"href":281,"dataGaName":282,"dataGaLocation":30},{"text":322,"config":323},"経営陣",{"href":324,"dataGaName":325,"dataGaLocation":30},"/company/team/e-group/","leadership",{"text":327,"config":328},"チーム",{"href":329,"dataGaName":330,"dataGaLocation":30},"/company/team/","team",{"text":332,"config":333},"ハンドブック",{"href":334,"dataGaName":335,"dataGaLocation":30},"https://handbook.gitlab.com/","handbook",{"text":337,"config":338},"投資家向け情報",{"href":339,"dataGaName":340,"dataGaLocation":30},"https://ir.gitlab.com/","investor relations",{"text":342,"config":343},"トラストセンター",{"href":344,"dataGaName":345,"dataGaLocation":30},"/ja-jp/security/","trust center",{"text":347,"config":348},"AI Transparency Center",{"href":349,"dataGaName":350,"dataGaLocation":30},"/ja-jp/ai-transparency-center/","ai transparency center",{"text":352,"config":353},"ニュースレター",{"href":354,"dataGaName":355,"dataGaLocation":30},"/company/contact/","newsletter",{"text":357,"config":358},"プレス",{"href":359,"dataGaName":360,"dataGaLocation":30},"/press/","press",{"text":37,"config":362,"lists":363},{"dataNavLevelOne":304},[364],{"items":365},[366,369,374],{"text":37,"config":367},{"href":39,"dataGaName":368,"dataGaLocation":30},"talk to sales",{"text":370,"config":371},"サポートを受ける",{"href":372,"dataGaName":373,"dataGaLocation":30},"/support/","get help",{"text":375,"config":376},"カスタマーポータル",{"href":377,"dataGaName":378,"dataGaLocation":30},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":380,"login":381,"suggestions":388},"閉じる",{"text":382,"link":383},"リポジトリとプロジェクトを検索するには、次にログインします",{"text":384,"config":385},"GitLab.com",{"href":44,"dataGaName":386,"dataGaLocation":387},"search login","search",{"text":389,"default":390},"提案",[391,394,399,401,405,409],{"text":59,"config":392},{"href":64,"dataGaName":393,"dataGaLocation":387},"GitLab Duo (AI)",{"text":395,"config":396},"コード提案（AI）",{"href":397,"dataGaName":398,"dataGaLocation":387},"/ja-jp/solutions/code-suggestions/","Code Suggestions (AI)",{"text":111,"config":400},{"href":113,"dataGaName":111,"dataGaLocation":387},{"text":402,"config":403},"GitLab on AWS",{"href":404,"dataGaName":402,"dataGaLocation":387},"/ja-jp/partners/technology-partners/aws/",{"text":406,"config":407},"GitLab on Google Cloud",{"href":408,"dataGaName":406,"dataGaLocation":387},"/ja-jp/partners/technology-partners/google-cloud-platform/",{"text":410,"config":411},"GitLabを選ぶ理由",{"href":72,"dataGaName":412,"dataGaLocation":387},"Why GitLab?",{"freeTrial":414,"mobileIcon":418,"desktopIcon":423},{"text":32,"config":415},{"href":416,"dataGaName":35,"dataGaLocation":417},"https://gitlab.com/-/trials/new/","nav",{"altText":419,"config":420},"GitLabアイコン",{"src":421,"dataGaName":422,"dataGaLocation":417},"/images/brand/gitlab-logo-tanuki.svg","gitlab icon",{"altText":419,"config":424},{"src":425,"dataGaName":422,"dataGaLocation":417},"/images/brand/gitlab-logo-type.svg",{"freeTrial":427,"mobileIcon":431,"desktopIcon":433},{"text":428,"config":429},"GitLab Duoの詳細について",{"href":64,"dataGaName":430,"dataGaLocation":417},"gitlab duo",{"altText":419,"config":432},{"src":421,"dataGaName":422,"dataGaLocation":417},{"altText":419,"config":434},{"src":425,"dataGaName":422,"dataGaLocation":417},"content:shared:ja-jp:main-navigation.yml","Main Navigation","shared/ja-jp/main-navigation.yml","shared/ja-jp/main-navigation",{"_path":440,"_dir":24,"_draft":6,"_partial":6,"_locale":7,"title":441,"button":442,"config":446,"_id":448,"_type":16,"_source":18,"_file":449,"_stem":450,"_extension":21},"/shared/ja-jp/banner","GitLab Duo Agent Platformがパブリックベータ版で利用可能になりました！",{"text":70,"config":443},{"href":444,"dataGaName":445,"dataGaLocation":30},"/ja-jp/gitlab-duo/agent-platform/","duo banner",{"layout":447},"release","content:shared:ja-jp:banner.yml","shared/ja-jp/banner.yml","shared/ja-jp/banner",{"_path":452,"_dir":24,"_draft":6,"_partial":6,"_locale":7,"data":453,"_id":657,"_type":16,"title":658,"_source":18,"_file":659,"_stem":660,"_extension":21},"/shared/ja-jp/main-footer",{"text":454,"source":455,"edit":461,"contribute":466,"config":471,"items":476,"minimal":649},"GitはSoftware Freedom Conservancyの商標です。当社は「GitLab」をライセンスに基づいて使用しています",{"text":456,"config":457},"ページのソースを表示",{"href":458,"dataGaName":459,"dataGaLocation":460},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":462,"config":463},"このページを編集",{"href":464,"dataGaName":465,"dataGaLocation":460},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":467,"config":468},"ご協力をお願いします",{"href":469,"dataGaName":470,"dataGaLocation":460},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":472,"facebook":473,"youtube":474,"linkedin":475},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[477,500,554,587,621],{"title":48,"links":478,"subMenu":483},[479],{"text":480,"config":481},"DevSecOpsプラットフォーム",{"href":57,"dataGaName":482,"dataGaLocation":460},"devsecops platform",[484],{"title":191,"links":485},[486,490,495],{"text":487,"config":488},"プランの表示",{"href":193,"dataGaName":489,"dataGaLocation":460},"view plans",{"text":491,"config":492},"Premiumを選ぶ理由",{"href":493,"dataGaName":494,"dataGaLocation":460},"/ja-jp/pricing/premium/","why premium",{"text":496,"config":497},"Ultimateを選ぶ理由",{"href":498,"dataGaName":499,"dataGaLocation":460},"/ja-jp/pricing/ultimate/","why ultimate",{"title":501,"links":502},"ソリューション",[503,508,511,513,518,523,527,530,533,538,540,542,544,549],{"text":504,"config":505},"デジタルトランスフォーメーション",{"href":506,"dataGaName":507,"dataGaLocation":460},"/ja-jp/topics/digital-transformation/","digital transformation",{"text":137,"config":509},{"href":132,"dataGaName":510,"dataGaLocation":460},"security & compliance",{"text":124,"config":512},{"href":107,"dataGaName":108,"dataGaLocation":460},{"text":514,"config":515},"アジャイル開発",{"href":516,"dataGaName":517,"dataGaLocation":460},"/ja-jp/solutions/agile-delivery/","agile delivery",{"text":519,"config":520},"クラウドトランスフォーメーション",{"href":521,"dataGaName":522,"dataGaLocation":460},"/ja-jp/topics/cloud-native/","cloud transformation",{"text":524,"config":525},"SCM",{"href":121,"dataGaName":526,"dataGaLocation":460},"source code management",{"text":111,"config":528},{"href":113,"dataGaName":529,"dataGaLocation":460},"continuous integration & delivery",{"text":163,"config":531},{"href":165,"dataGaName":532,"dataGaLocation":460},"value stream management",{"text":534,"config":535},"GitOps",{"href":536,"dataGaName":537,"dataGaLocation":460},"/ja-jp/solutions/gitops/","gitops",{"text":176,"config":539},{"href":178,"dataGaName":179,"dataGaLocation":460},{"text":181,"config":541},{"href":183,"dataGaName":184,"dataGaLocation":460},{"text":186,"config":543},{"href":188,"dataGaName":189,"dataGaLocation":460},{"text":545,"config":546},"教育",{"href":547,"dataGaName":548,"dataGaLocation":460},"/ja-jp/solutions/education/","education",{"text":550,"config":551},"金融サービス",{"href":552,"dataGaName":553,"dataGaLocation":460},"/ja-jp/solutions/finance/","financial services",{"title":196,"links":555},[556,558,560,562,565,567,571,573,575,577,579,581,583,585],{"text":208,"config":557},{"href":210,"dataGaName":211,"dataGaLocation":460},{"text":213,"config":559},{"href":215,"dataGaName":216,"dataGaLocation":460},{"text":218,"config":561},{"href":220,"dataGaName":221,"dataGaLocation":460},{"text":223,"config":563},{"href":225,"dataGaName":564,"dataGaLocation":460},"docs",{"text":246,"config":566},{"href":248,"dataGaName":249},{"text":568,"config":569},"お客様の成功事例",{"href":570,"dataGaLocation":460},"/customers/",{"text":241,"config":572},{"href":243,"dataGaName":244,"dataGaLocation":460},{"text":251,"config":574},{"href":253,"dataGaName":254,"dataGaLocation":460},{"text":264,"config":576},{"href":266,"dataGaName":267,"dataGaLocation":460},{"text":256,"config":578},{"href":258,"dataGaName":259,"dataGaLocation":460},{"text":269,"config":580},{"href":271,"dataGaName":272,"dataGaLocation":460},{"text":274,"config":582},{"href":276,"dataGaName":277,"dataGaLocation":460},{"text":279,"config":584},{"href":281,"dataGaName":282,"dataGaLocation":460},{"text":284,"config":586},{"href":286,"dataGaName":287,"dataGaLocation":460},{"title":302,"links":588},[589,591,593,595,597,599,601,605,610,612,614,616],{"text":309,"config":590},{"href":311,"dataGaName":304,"dataGaLocation":460},{"text":314,"config":592},{"href":316,"dataGaName":317,"dataGaLocation":460},{"text":322,"config":594},{"href":324,"dataGaName":325,"dataGaLocation":460},{"text":327,"config":596},{"href":329,"dataGaName":330,"dataGaLocation":460},{"text":332,"config":598},{"href":334,"dataGaName":335,"dataGaLocation":460},{"text":337,"config":600},{"href":339,"dataGaName":340,"dataGaLocation":460},{"text":602,"config":603},"Sustainability",{"href":604,"dataGaName":602,"dataGaLocation":460},"/sustainability/",{"text":606,"config":607},"ダイバーシティ、インクルージョン、ビロンギング（DIB）",{"href":608,"dataGaName":609,"dataGaLocation":460},"/ja-jp/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":342,"config":611},{"href":344,"dataGaName":345,"dataGaLocation":460},{"text":352,"config":613},{"href":354,"dataGaName":355,"dataGaLocation":460},{"text":357,"config":615},{"href":359,"dataGaName":360,"dataGaLocation":460},{"text":617,"config":618},"現代奴隷制の透明性に関する声明",{"href":619,"dataGaName":620,"dataGaLocation":460},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"title":37,"links":622},[623,625,627,629,634,639,644],{"text":37,"config":624},{"href":39,"dataGaName":40,"dataGaLocation":460},{"text":370,"config":626},{"href":372,"dataGaName":373,"dataGaLocation":460},{"text":375,"config":628},{"href":377,"dataGaName":378,"dataGaLocation":460},{"text":630,"config":631},"ステータス",{"href":632,"dataGaName":633,"dataGaLocation":460},"https://status.gitlab.com/","status",{"text":635,"config":636},"利用規約",{"href":637,"dataGaName":638,"dataGaLocation":460},"/terms/","terms of use",{"text":640,"config":641},"プライバシーに関する声明",{"href":642,"dataGaName":643,"dataGaLocation":460},"/ja-jp/privacy/","privacy statement",{"text":645,"config":646},"Cookieの設定",{"dataGaName":647,"dataGaLocation":460,"id":648,"isOneTrustButton":93},"cookie preferences","ot-sdk-btn",{"items":650},[651,653,655],{"text":635,"config":652},{"href":637,"dataGaName":638,"dataGaLocation":460},{"text":640,"config":654},{"href":642,"dataGaName":643,"dataGaLocation":460},{"text":645,"config":656},{"dataGaName":647,"dataGaLocation":460,"id":648,"isOneTrustButton":93},"content:shared:ja-jp:main-footer.yml","Main Footer","shared/ja-jp/main-footer.yml","shared/ja-jp/main-footer",{"featuredPost":662,"allPosts":689,"totalPages":820,"initialPosts":821},{"_path":663,"_dir":249,"_draft":6,"_partial":6,"_locale":7,"seo":664,"content":672,"config":682,"_id":685,"_type":16,"title":686,"_source":18,"_file":687,"_stem":688,"_extension":21},"/ja-jp/blog/the-co-create-program-how-customers-are-collaborating-to-build-gitlab",{"title":665,"description":666,"ogTitle":665,"ogDescription":666,"noIndex":6,"ogImage":667,"ogUrl":668,"ogSiteName":669,"ogType":670,"canonicalUrls":668,"schema":671},"共同開発プログラム：ユーザーとともに築くGitLab","Thales社、Scania社、Kitware社などの組織がどのようにGitLabのエンジニアと連携し、コミュニティ全体に利益をもたらす重要な機能の開発にコントリビュートしているかをご紹介します。","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749659756/Blog/Hero%20Images/REFERENCE_-_display_preview_for_blog_images.png","https://about.gitlab.com/blog/the-co-create-program-how-customers-are-collaborating-to-build-gitlab","https://about.gitlab.com","article","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"共同開発プログラム：ユーザーとともに築くGitLab\",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"Fatima Sarah Khalid\"}],\n        \"datePublished\": \"2025-01-30\",\n      }",{"title":665,"description":666,"authors":673,"heroImage":667,"date":675,"body":676,"category":14,"tags":677,"updatedDate":681},[674],"Fatima Sarah Khalid","2025-01-30","過去一年間で、800人以上のコミュニティメンバーによって、GitLabに3,000以上のコントリビュートが寄せられました。コントリビューターにはThales社やScania社などの世界的な企業のチームメンバーも含まれており、GitLabの[共同開発プログラム](https://about.gitlab.com/community/co-create/)を通じてGitLabの未来を共に築いています。このプログラムでは、GitLabユーザーがGitLabのエンジニアと直接協力し、プラットフォームに価値ある機能を提供しています。\n\nワークショップやペアプログラミング、継続的なサポートを通じて、プログラム参加者はGitLabのアーキテクチャやコードベースに触れながら、機能改善や問題解決に取り組みます。\n\nThales社のオープンソースアドボケートであるSébastien Lejeune氏は次のように述べています。「共同開発プログラムを通じた経験は本当に素晴らしいものでした。GitLabのコントリビューターサクセスチームのエンジニアと話し合いを始めてから、GitLabのリリースに反映されるまでわずか2か月でした」\n\nこの記事では、GitLabユーザーが共同開発プログラムを通じて、どのようにアイデアをコードとして実装し、その過程で学びながらコントリビュートしているのかをご紹介します。\n\n## 共同開発プログラムについて\n\n[GitLab Development Kit（GitLab開発キット、略してGDK）](https://gitlab.com/gitlab-org/gitlab-development-kit)は、コントリビューターがGitLabではじめて開発を行う際に役立ちます。「新しいコントリビューターにアドバイスするとしたら、GDKで何かを壊すことはできないということです。変更を加えてうまくいかない場合は、元に戻したり、最初からやり直したりすることができます。GDKの良さは、環境を気にすることなく、調整したり、テストしたり、学んだりできることです」とGitLabのコントリビューターサクセスチームでシニアフルスタックエンジニアを務めるRaimund Hookは言います。\n\n共同開発プログラムに参加する各組織は、コントリビュートのプロセス全体を通じて次のようなサポートを受けられます。\n\n- __テクニカルオンボーディングワークショップ__：GDKのセットアップやGitLabのアーキテクチャを理解するための専用セッション\n\n- __1対1のエンジニアリングサポート__：GitLabエンジニアとのペアプログラミングや技術的なアドバイス\n- __アーキテクチャの詳細解説__：各組織がコントリビュートしている課題に関連する特定のGitLabコンポーネントに焦点を当てたセッション\n- __コードレビューのサポート__：マージリクエストの手順に関する詳細なフィードバックとガイダンス\n- __定期的なチェックイン__：進捗状況を確認し、あらゆる課題に対処するための継続的なコラボレーション\n\nこの仕組みにより、GitLabのコードベースやRuby/Goプログラミング言語になじみのないチームでも、効果的にコントリビュートできるようになります。Kitware社のJohn Parent氏は次のように語ります。「GitLabを見たことも、使ったこともない人は、複数のプロジェクトにまたがる洗練されたアーキテクチャと膨大なコードを見て圧倒されるかもしれません。共同開発プログラムでは、社内研修で何週間もかけて学ぶ内容を、的を絞った短期集中コースとして習得できます」\n\nこのプログラムの成果は、新機能の提供にとどまりません。GitLabとそのユーザーコミュニティの間に長期的な関係を築くことにもつながっています。「情熱を持ってGitLabの開発にコントリビュートしてくださるユーザーのみなさまを見て、私たちエンジニアも刺激をもらっています。ユーザーは『GitLab流』を学び、エンジニアはユーザーがGitLabの未来を形作る姿勢を目の当たりにするのです」とGitLabのプリンシパルエンジニアであるShekhar Patnaikは述べています。\n\n## Thales社のコントリビュートによるプロジェクトUXの向上\n\nThales社は、GitLabの空のプロジェクトUIの改善として、単に機能リクエストを提出するのではなく、自らソリューションを構築しました。同チームのコントリビュートの焦点は、インターフェイスをタブ形式にしてSSH/HTTPS設定を簡素化し、コードスニペットのコピー/ペースト機能を追加することで、新しいプロジェクトのセットアップを効率化することでした。これらの変更は、デベロッパーのワークフローに大きな影響を与えました。\n\nまた、このチームの影響はUXの改善だけにとどまりませんでした。Thales社でエッジクラウドアプリケーションの博士研究員を務めるQuentin Michaud氏は、GDKの改善にもコントリビュートしました。Arch LinuxのパッケージメンテナーでもあるMichaud氏の専門知識により、GDKのドキュメントが改善され、コンテナ化の取り組みが進められたことで、新しいコントリビューターがより簡単に開発を始められるようになりました。\n\nMichaud氏は「オープンソースの経験があったおかげで、Linuxディストリビューション向けのGDKサポートを改善する際に役立ちました。パッケージのバージョン管理ドキュメントを改善する過程で、GitLabのコントリビューターサクセスチームもGDKのコンテナ化に取り組んでいることを知りましたが、双方の取り組みが交わる瞬間を見ることができたのは非常に印象的でした。オープンソースのコラボレーションがより優れたソリューションを生み出すことを実感した瞬間でした」と語ります。\n\nThales社のチームにとってポジティブな経験であったため、Lejeune氏は現在、共同開発プログラムを「オープンソースコントリビュートによる投資対効果をマネージャーに示す強力な事例」として活用しています。\n\n## Scania社のコントリビュートによるパッケージサポートの強化\n\nGitLabの高度なパッケージサポートの必要性を理解したScania社は、自らコントリビュートして、それを構築する機会を見出しました。\n\n「私たちは長年GitLabを使用し、組織内でオープンソースを積極的に推進してきました。共同開発プログラムのおかげで、オープンソースに直接コントリビュートする有意義なアプローチが可能になりました」とScania社のソリューションアーキテクトであるPuttaraju Venugopal Hassan氏は語ります。\n\nチームはまず、コードベースとレビューのプロセスに慣れるために小さな変更から着手し、徐々に大きな機能開発へと進みました。「共同開発プログラムで最も充実感を感じたのは、プロセス全体を振り返り、どれだけ成長したかを実感できたことです」とScania社のソフトウェアデベロッパーであるOcéane Legrand氏は振り返ります。「最初は調査や小さな変更から取り組み、次第により大きなタスクへとステップアップしていきました。その進歩を目の当たりにできてうれしく思います」\n\nScania社のコントリビュートには、パッケージレジストリのバグ修正や、Conanパッケージレジストリ機能の強化が含まれます。これにより、Conanパッケージレジストリは一般公開（GA）に向けた準備が進み、Conanバージョン2のサポートも実装されました。Scania社の取り組みとGitLabとのコラボレーションは、GitLabのパッケージレジストリ機能を大幅に改善する上で、共同開発プログラムがいかに有効であるかを示しています。\n\n「共同開発プログラムを開始してすぐに、非常に体系的に構築されていることを実感しました。コントリビュートに必要なことをすべて学べるトレーニングセッションがありましたし、GitLabのエンジニアとの1対1のセッションでは、GitLabのパッケージアーキテクチャについて深く理解することができ、コントリビュートをスムーズに進められました」とScania社のソフトウェアデベロッパーであるJuan Pablo Gonzalez氏は語ります。\n\nこのプログラムの成果はコードのみにとどまりません。プログラム参加者は、コントリビュートを通じて貴重なスキルを身につけます。[GitLab 17.8リリース](https://about.gitlab.com/ja-jp/blog/gitlab-17-8-release/)では、Legrand氏とGonzalez氏がともにGitLab MVPに選ばれました。Legrand氏は、オープンソースでの作業がGitLabとScania社の両方に与える影響について言及し、自身とチームの新たなスキル習得にもつながったと述べています。「共同開発プログラムを通じてコントリビュートすることで、Rubyやバックグラウンドマイグレーションの知識など、新たなスキルを習得できました。Scaniaの所属チームでアップグレード作業中に問題が発生した際、共同開発プログラムですでに同じ問題を経験していたため、トラブルシューティングを手伝うことができました」\n\n## Kitware社のコントリビュートによる高性能計算（HPC）向け認証の最適化 \n\nKitware社は、国立研究所との協力で培った専門知識を活かし、GitLabの認証フレームワークの改善にコントリビュートしました。このコントリビュートには、GitLabのOAuth2デバイス認証付与フローのサポートの追加や、新しいデータベーステーブル、コントローラー、ビュー、ドキュメントの実装が含まれます。これにより、GitLabの認証オプションが強化され、ブラウザを持たないデバイスや入力機能が限られたデバイスでも利用しやすくなりました。\n\n「共同開発プログラムは、外部コントリビューターとしてGitLabにコントリビュートする最も効率的で効果的な方法です。デベロッパー同士のペアリングセッションを通じて、1人で作業していたら見逃していたかもしれない、より優れた実装方法を見つけることができました」とKitware社の研究開発エンジニアであるJohn Parent氏は話します。\n\n長年にわたりオープンソースにコントリビュートしてきたKitware社は、GitLabの開発手法を特に高く評価しています。「GitLabほどの規模であれば、既成のソリューションに頼ることはないだろうと思っていましたが、社内で独自のソリューションを開発するのではなく、Rubyの依存関係を取り入れているのを見て素晴らしいと思いました。C++の世界ではパッケージマネージャーがほとんど使われないため、このようなアプローチを目にし、そのシンプルさを実感できたのは新鮮でした」とParent氏は述べます。\n\n## 共に築く未来：共同開発のメリット\n共同開発プログラムは、双方に価値をもたらします。「このプログラムは、GitLabのエンジニアとユーザーの間のギャップを埋める役割を果たしています。ユーザーと一緒に取り組む中で、日々の課題や、GitLabのどの部分を重視しているのか、どこに改善の余地があるのかを直接聞くことができます。ユーザーがGitLabの開発に積極的に関わろうとしている姿には感銘を受けます」と、GitLabのスタッフバックエンドエンジニアであるImre Farkasは説明します。\n\nこの協力的なアプローチには、GitLabの開発スピードを加速させる効果もあります。GitLabのプリンシパルエンジニアであるShekhar Patnaikは次のように述べています。「共同開発を通じて、ユーザーはGitLabのロードマップを前進させる手助けをしてくれています。彼らのコントリビュートにより、重要な機能をより早く提供できるようになり、すべてのユーザーにとって大きなメリットとなっています。このプログラムが拡大するにつれて、実際にその機能を必要としているユーザーと共に開発を進めることで、最も重要な機能の開発をさらに加速できる可能性があります」\n\n## 共同開発を始める\n機能リクエストを実現しませんか？Thales社のようにGitLabのUIを強化したい、Scania社のようにパッケージサポートを充実させたい、またはKitware社のように認証機能を改善したいとお考えなら、共同開発プログラムへご参加ください。本プログラムでは、価値あるオープンソースの経験を積みながら、GitLabの未来を積極的に形作りたい組織を歓迎します。\n\n共同開発プログラムへの参加について、詳しくはGitLabの担当者にお問い合わせいただくか、[共同開発のページ](https://about.gitlab.com/community/co-create/)をご覧ください。\n\n\u003Cbr>\u003Cbr>\n\n*監修：川瀬 洋平 [@ykawase](https://gitlab.com/ykawase)\u003Cbr>\n（GitLab合同会社 カスタマーサクセス本部 シニアカスタマーサクセスマネージャー）*\n",[678,679,680],"contributors","open source","customers","2025-03-10",{"slug":683,"featured":93,"template":684},"the-co-create-program-how-customers-are-collaborating-to-build-gitlab","BlogPost","content:ja-jp:blog:the-co-create-program-how-customers-are-collaborating-to-build-gitlab.yml","The Co Create Program How Customers Are Collaborating To Build Gitlab","ja-jp/blog/the-co-create-program-how-customers-are-collaborating-to-build-gitlab.yml","ja-jp/blog/the-co-create-program-how-customers-are-collaborating-to-build-gitlab",[690,710,733,754,775,799],{"_path":691,"_dir":249,"_draft":6,"_partial":6,"_locale":7,"seo":692,"content":698,"config":704,"_id":706,"_type":16,"title":707,"_source":18,"_file":708,"_stem":709,"_extension":21},"/ja-jp/blog/event-report-gartner-it-symposium",{"title":693,"description":694,"ogTitle":693,"ogDescription":694,"noIndex":6,"ogImage":695,"ogUrl":696,"ogSiteName":669,"ogType":670,"canonicalUrls":696,"schema":697},"くら寿司が語るソフトウェア開発の「生産性向上」と「セキュリティ・ガバナンス」の重要性【イベントレポート】","2024年10月に開催された「Gartner IT Symposium/Xpo」の当社セッションにおいて、くら寿司様より事例を紹介いただきましたので、その模様をお伝えします。","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749665029/Blog/Hero%20Images/_________DX__________________GitLab____________________.jpg","https://about.gitlab.com/blog/event-report-gartner-it-symposium","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"くら寿司が語るソフトウェア開発の「生産性向上」と「セキュリティ・ガバナンス」の重要性【イベントレポート】\",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"GitLab Japan Team\"}],\n        \"datePublished\": \"2024-12-05\",\n      }",{"title":693,"description":694,"authors":699,"heroImage":695,"date":701,"body":702,"category":14,"tags":703},[700],"GitLab Japan Team","2024-12-05","2024年10月、GitLabはGartner IT Symposium/Xpoに出展しました。このイベントにおいて、GitLabユーザーの[くら寿司株式会社](https://www.kurasushi.co.jp/) 執行役員 DX本部長 中林 章氏に弊社セッションに登壇いただきましたので、本ブログではその模様を中心にレポートします。\n\n![ガートナーITシンポジウム会場の様子](https://res.cloudinary.com/about-gitlab-com/image/upload/v1749687748/Blog/Content%20Images/___________________.jpg)\n*会場の様子*\n\n中林氏の講演は、当社のJapan Country Manager 小澤 正治をモデレーターとする対談形式で行われました。開催2週間前に満員御礼となり、当日も満員の来場者が詰めかけた人気セッションでしたが、講演の冒頭で小澤は、「今日のこの時間がMLBのワールドシリーズにぶつかると考えていませんでした。昨夜から、本当に人が来てくれるのかどうか心配していて、皆さんに来ていただけて安心しました」と会場の笑いを誘います。\n\n![くら寿司株式会社 DX本部 執行役員 本部長 中林 章氏 3](https://res.cloudinary.com/about-gitlab-com/image/upload/v1749687748/Blog/Content%20Images/_________DX__________________3.jpg)\n*くら寿司株式会社 執行役員 DX本部長 中林 章氏*\n\n中林氏は、「GitLabとの出会いは去年のこのイベントです。私たちが必要としていたソリューションがGitLabだということがすっと腑に落ちて、その場で採用を決めました」と話し、ブースのパネル展示を見てGitLabが合うと感じたと明かします。小澤は「私の講演を聞いてくれたのではなかったのですか」と合いの手を入れましたが、中林氏は「いえ、ブースのパネル展示で」とつれない返事。会場は再び笑いに包まれました。こうして、セッションはやわらかな雰囲気で和気あいあいと進みます。\n\n![GitLab合同会社カントリーマネージャー小澤正治](https://res.cloudinary.com/about-gitlab-com/image/upload/v1749687748/Blog/Content%20Images/GitLab____________________.jpg)\n*GitLab合同会社 カントリーマネージャー 小澤 正治*\n\n## GitLabに登録したビジネスバックログは、そのままプロダクトバックログになる\n\nくら寿司は、「安心・美味しい・安い」というコンセプトに加え、「ビッくらポン!」を代表とした「楽しい」を追求しています。「抗菌寿司カバー 鮮度くん」など独自の品質管理などでも消費者の信頼を獲得し、成長してきました。また、先進的な業務の標準化、効率化を進め、業界に先駆けて機械化／デジタル化を進めている企業としても知られています。\n\n![くら寿司様サービス展開の歴史](https://res.cloudinary.com/about-gitlab-com/image/upload/v1749687748/Blog/Content%20Images/_______________.jpg)\n*図：くら寿司のサービス展開の歴史*\n\n中林氏は、そんな同社の歴史について、機械化に取り組んだ時代を経て、デジタル化の時代が来たと説明します。デジタル化には、タッチパネル注文など店舗内のものとスマホ予約システムなど店舗外のものがあり、現在は機械を含めた店舗内のプロセスと店舗内／店舗外のデジタル、および本社のビジネスプロセスをつなぐさまざまな取り組みを実施できる段階に来ています。そして、デジタルテクノロジーとデータを活用した企業理念の実践を実現しようとしているのです。\n\n「GitLabを使って進めているくら寿司流DXで大切にしていることは、独自性です。お客様DX、事業基盤DX、従業員DXと3つのDXを進めていますが、くら寿司ならではの競争力のあるDXを推進することが求められています」（中林氏）\n\nなぜ「ならでは」である必要があるのでしょう。それは、くら寿司の経営スピードが極めて速いサイクルで進むためです。経営会議は2週間に1度あり、その場で意思決定がなされ、プロジェクトが実行に移されます。たとえば異業種とのコラボレーションなどのイベントも、このスピード感で決まり、実行します。現場のアイデアや困りごとはすぐに吸い上げ、優先順位をつけて即座に対応していくことになります。\n\nこれはデジタルにおいても同様で、中林氏は2週間に1度、新たな複数のプロジェクトを開発現場に持ち帰ることになります。中林氏は、「このサイクルに合わせるためには、DevSecOpsが不可欠になります。経営会議の決定をビジネスバックログとしてGitLabに登録すると、それがプロダクトバックログになるイメージです」と話します。\n\nGitLabによってDevSecOpsを根付かせることで、ビジネスの意思決定をプロダクトの計画、設計、開発、リリース、運用というプロセスに一貫した流れに落とし込めます。これにより、セキュリティリスクとビジネスリスクをどちらも低く抑えることができます。GitLab導入後1年を経た今、くら寿司の社内には、「GitLabに合わせて開発する」という文化が根付きました。\n\nすべての開発プロジェクトはGitLabの中で完結するため、開発と運用にかかわるすべての経緯はGitLabを見て、過去のログをたどればわかります。中林氏が経営会議から持ち帰ったビジネスバックログまで遡ることができるのです。セキュリティ面では、シフトレフトを加速させています。成果物によって求めるセキュリティレベルは異なるため、ビジネスモデルやスプリントごとに最適なセキュリティを決定し、それを開発プロセスに組み込むことで、求めるセキュリティレベルを担保できるようにしています。\n\n## セキュリティはプロアクティブな対応に近づけたい\n\n![GitLab導入前の課題と導入後の効果](https://res.cloudinary.com/about-gitlab-com/image/upload/v1749687748/Blog/Content%20Images/GitLab______________.jpg)\n*図：くら寿司のGitLab導入前の課題と導入後の効果*\n\nセキュリティについては、脅威側が日々進化するという問題があり、どれほどの対策をしても終わりはありません。くら寿司の場合、開発プロジェクトのほぼすべてが自社開発になっているため、ソフトウェア・サプライチェーンのリスクは大きな課題です。地産地消の推進に伴い、国内でも地域／店舗ごとにソフトウェアやデータの連携先、デジタルタッチポイントなどは異なります。さらに、海外店舗もあるため、プロセス／データの連携先に対するガバナンスも必要になってきます。\n\nこれらの課題に向き合うために、くら寿司では、「お客様に迷惑をかけないこと」を第一義として整理しています。「セキュリティに対してリアクティブな対応で良しとしようという風潮はあります。しかし、本来プロアクティブな対応を取れるとより良いわけで、少しでもそこに近づける必要はあるでしょう。GitLabのおかげで、リスク要素がよく見えるようになりました。どのサーバで問題が起きているか、という視点でなく、どのスプリントがどの程度のリスクをはらんでいるのか、という視点を得られたのは大きな成果でした」（中林氏）。\n\n![くら寿司株式会社 DX本部 執行役員 本部長 中林 章氏](https://res.cloudinary.com/about-gitlab-com/image/upload/v1749687748/Blog/Content%20Images/_________DX_________________.jpg)\n*左より、くら寿司株式会社 執行役員 DX本部長 中林 章氏、GitLab合同会社カントリーマネージャー小澤正治*\n\n海外拠点では、国内システムと共通化すべき部分とそうでない部分を切り分けて運用することにしました。本社の高速な意思決定サイクルを海外にも展開しながら、現地が自ら考えてその地域に最適なプロダクトを開発し、その上で適切なセキュリティを担保できる開発を推進しています。いわば、ITも地産地消なのです。\n\n## お客様に満足し尽くしてもらえるようなAIを提供してみたい\n\n喫緊の課題に、将来のAI活用があります。中林氏は、狭義のITを「回転レーンの寿司を監視するような、モノの判別に使えるようなAI」と定義し、そうではない広義のAIを活用していきたいと語ります。\n\n![くら寿司株式会社 DX本部 執行役員 本部長 中林 章氏 2](https://res.cloudinary.com/about-gitlab-com/image/upload/v1749687748/Blog/Content%20Images/_________DX__________________2.jpg)\n*くら寿司株式会社 DX本部 執行役員 本部長 中林 章氏*\n\n中林氏は、「AIはお客様に継続的な価値を提供し続けるために使いたいです。たとえば、お客様が“今はマグロじゃなくてスイーツを食べたい気分”なら、それを察知してレコメンドしてくれるようなAIが居てくれるとうれしくないですか？お客様とずっとコミュニケーションを取ることで、お客様に満足し尽くしてもらえるようなAIを提供してみたいと考えています」と話してくれました。\n\n![Gartner ITシンポジウムにおけるGitLabのブース](https://res.cloudinary.com/about-gitlab-com/image/upload/v1749687748/Blog/Content%20Images/GitLab_____.jpg)\n*GitLabのブース*\n\n### 関連記事\n[DevOpsで実現。ソフトウェア開発のセキュリティ・ガバナンス【イベントレポート】](https://about.gitlab.com/ja-jp/blog/event-report-gartner-it-infra-2024/)",[680],{"slug":705,"featured":93,"template":684},"event-report-gartner-it-symposium","content:ja-jp:blog:event-report-gartner-it-symposium.yml","Event Report Gartner It Symposium","ja-jp/blog/event-report-gartner-it-symposium.yml","ja-jp/blog/event-report-gartner-it-symposium",{"_path":711,"_dir":249,"_draft":6,"_partial":6,"_locale":7,"seo":712,"content":718,"config":727,"_id":729,"_type":16,"title":730,"_source":18,"_file":731,"_stem":732,"_extension":21},"/ja-jp/blog/how-indeed-transformed-its-ci-platform-with-gitlab",{"title":713,"description":714,"ogTitle":713,"ogDescription":714,"noIndex":6,"ogImage":715,"ogUrl":716,"ogSiteName":669,"ogType":670,"canonicalUrls":716,"schema":717},"GitLabでCIプラットフォームを変革したIndeed社の戦略","世界最大の求人サイトであるIndeed社は、数千のプロジェクトをGitLab CIに移行することで、生産性向上とコスト削減を実現しました。1日あたりのパイプライン実行数が79%増加するなど、得られた主なメリットをご紹介します。","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750099351/Blog/Hero%20Images/Blog/Hero%20Images/Indeed-blog-cover-image-2_4AgA1DkWLtHwBlFGvMffbC_1750099350771.png","https://about.gitlab.com/blog/how-indeed-transformed-its-ci-platform-with-gitlab","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"GitLabでCIプラットフォームを変革したIndeed社の戦略\",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"Carl Myers\"}],\n        \"datePublished\": \"2024-08-27\",\n      }",{"title":713,"description":714,"authors":719,"heroImage":715,"date":721,"body":722,"category":14,"tags":723,"updatedDate":726},[720],"Carl Myers","2024-08-27","***編集者からのお知らせ：GitLabでは、当社ブログの執筆者として、カスタマーコミュニティのメンバーをお招きすることがあります。今回のブログ記事では、Indeed社のCIプラットフォームマネージャーを務めるCarl Myers氏に、GitLabに関する経験を共有していただきました。*** \n\nIndeedは、「We help people get jobs.（人々の仕事さがしを支援する）」というミッションを掲げています。Indeedは、[月間3億5,000万人以上のユニークビジターを持つ、世界最大の求人サイト](https://jp.indeed.com/about)（外部サイト）です。\n\nIndeedのエンジニアリングプラットフォームチームは「We help people to help people get jobs.（人々の仕事さがしを支援する人を支援する）」というモットーを掲げており、これは会社のミッションとは少し異なるものです。20年近くにわたり、常に求職者を第一に考えるデータドリブンのエンジニアリング文化を醸成してきました。この文化を推進する中で、当社はこのアプローチを実現し、日々エンジニアが求職者によい結果を届けられるようにするためのツールの構築に責任を持って取り組んでいます。\n\nわずか11人から成るIndeedのCIプラットフォームチームは、GitLabの継続的インテグレーション（CI）を導入したことで、社内の数千人のユーザーを効果的にサポートできるようになりました。このほかにも、IndeedはGitLab CIへの移行により次のメリットを得ました。\n- 1日あたりのパイプライン実行数が79%増加\n- CIハードウェアコストを10～20%削減\n- サポート負担の軽減\n\n## CIプラットフォームの進化：Jenkinsから拡張性に優れたソリューションへ\n\n多くの大手テクノロジー企業と同様に、当社は会社の成長に伴い、当時利用可能なオープンソースや業界標準のソリューションを用いてCIプラットフォームを段階的に構築してきました。2007年、Indeedのエンジニアが20人にも満たなかった頃、チームではHudson（Jenkinsの前身）を使用していました。\n\n20年近くにわたる成長を経た現在、Indeedには数千人のエンジニアが在籍しています。新しい技術が登場するたびに、段階的に改善に取り組み、2011年頃にはJenkinsに移行しました。また、[AWS EC2](https://aws.amazon.com/ec2/)を使用して、ほとんどのワークロードを動的なクラウドワーカーノードに移行することにも成功しました。しかし、Kubernetes時代に突入すると、システムのアーキテクチャが限界に達しました。\n\nJenkinsのアーキテクチャは、クラウドを前提に設計されていません。Jenkinsは、パイプラインの重要な部分を実行し、特定のタスクをワーカーノードに割り当てる役割を持つ『コントローラー』ノードを使用して動作します（ワーカーノードはある程度水平にスケーリングが可能）。しかし、コントローラーのスケーリングは手動で調整する必要があります。\n\nジョブが多すぎて1つのコントローラーに収まらない場合、ジョブを複数のコントローラーに手動で分割する必要があります。CloudBees社は、こうしたボトルネックを軽減するための対策として、CloudBees Jenkins Operations Centerをはじめとする、複数のコントローラーを一元管理するソリューションを提案しています。しかし、各コントローラーは依然として脆弱な単一障害点となり、Kubernetes環境での運用には困難があります。ノードのロールアウトやハードウェアの障害などのアクティビティはダウンタイムを引き起こします。\n\nJenkins自体に内在する技術的な制約に加えて、自社のCIプラットフォームにも、社内プロセスが原因で発生した問題がいくつかありました。たとえば、各リポジトリ内のコードからジョブを生成するためにGroovy Jenkins DSLを使用していたため、各プロジェクトがコピー＆ペーストされた独自のジョブパイプラインを持つことになり、その結果、数百ものバージョンが生成され、メンテナンスや更新が困難になりました。Indeedのエンジニアリング文化は柔軟性を重視し、チームが別々のリポジトリで作業することを許容していますが、その柔軟性により、チームは定期的にメンテナンスを行わなければならず、多大な時間を費やさせる負担要因となっていました。\n\nこうした技術的負債を認識した当社は、「[Golden Pathパターン](https://tag-app-delivery.cncf.io/whitepapers/platforms/)（英語）」に目を向けました。このパターンは、柔軟性を保ちながら、アップデートを簡素化し、プロジェクト間で運用の一貫性を促進するための標準的な手順を提供するものです。\n\nIndeedのCIプラットフォームチームは11人ほどのエンジニアで構成されており、決して規模は大きくないものの、サポートリクエストへの対応、アップグレードやメンテナンスの実施、そしてグローバル企業としての常時サポート体制の確保を通じて、数千人のユーザーサポートにあたっています。\n\n当社のチームは、GitLabインスタンスだけでなく、アーティファクトサーバーや共有ビルドコード、さらに複数のカスタムコンポーネントを含むCIプラットフォーム全体をサポートしているため、業務量は非常に多岐にわたります。そのため、既存のリソースを最大限に活用し、課題に対処する計画が必要でした。\n\n## GitLab CIへの移行\n\n主要なステークホルダーとの慎重な設計レビューを経て、当社は全社的にJenkinsからGitLab CIへ移行することを決定しました。GitLab CIを選んだ主な理由は次のとおりです。\n\n- すでにGitLabをソースコード管理に使用していたため。\n- GitLabは、当社がCIに求める機能をすべて備えた包括的なソリューションであるため。\n- GitLab CIの設計は拡張性に優れ、クラウドにも対応しているため。\n- GitLab CIは、テンプレートを拡張して新たなテンプレートを作成できるという点が、当社の「Golden Path」戦略と合致していたため。\n- GitLabがオープンソースソフトウェアであり、さらにGitLabチームが当社の修正提案に常に協力的であったことから、柔軟性と安心感を得られたため。\n\nGitLab CIプラットフォームの一般提供を正式に発表した時点で、すでに全ビルドの23%がGitLab CI上で行われていました。これは、個々のユーザーの自主的な取り組みや早期導入者のおかげです。\n\nしかし、移行の課題は「ロングテール」にありました。Jenkinsには多くのカスタムビルドが存在するため、自動移行ツールはほとんどのチームに適用できませんでした。新しいシステムの利点の多くは、旧システムを完全に停止（0%）にするまで実現しません。そうして初めてハードウェアを停止し、CloudBeesのライセンス費用を削減できるようになるのです。\n\n## 機能の同等性とゼロからの再出発の利点\n\nIndeedでは多様な技術をサポートしていますが、最も一般的な言語はJava、Python、JavaScriptです。これらの言語は、ライブラリの構築、デプロイ可能なサービス（ウェブサービスやアプリケーションなど）、およびcronジョブ（データレイク内のデータセットを構築するような、定期的に実行されるプロセス）を作成するために使用されます。これらの言語は、Javaライブラリ、Pythonのcronジョブ、JavaScriptのウェブアプリケーションといったプロジェクトタイプのマトリックスを形成しており、Jenkinsではそれぞれに対して事前定義されたスケルトンがありました。そのため、これらすべてのプロジェクトタイプに対応する「Golden Path」テンプレートをGitLab CIでも作成する必要がありました。\n\nほとんどのユーザーは推奨されたパスをそのまま使用できましたが、カスタマイズが必要な場合でも「Golden Path」は有用な出発点になりました。必要な部分だけを調整しながら、将来的には一元管理されたテンプレートが更新されるたびに、その利点を享受することができます。\n\n当社はすぐに、カスタマイズが必要なユーザーでさえ「Golden Path」の採用に前向きであり、少なくとも試用を望んでいることがわかりました。もし以前のカスタマイズが必要であれば、後から追加することができたからです。これは驚くべき結果でした。大幅なカスタマイズに投資してきたチームはそれを手放すことに抵抗があるだろうと思っていましたが、大多数のチームはもはやそれを気にしなくなっていたのです。これにより、多くのプロジェクトを非常に迅速に移行することができました。プロジェクトに「Golden Path」（インクルードを含む6行ほどの小さなファイル）を追加するだけで、あとは各チームがそれを活用して進めることができました。\n\n## インナーソースによる救済\n\nCIプラットフォームチームは、「外部からのコントリビュートを優先する」というポリシーを採用し、社員全体の参加を促進しました。このアプローチは「インナーソース」と呼ばれることもあります。私たちは、外部からのコントリビュート（自分たちのチーム以外からのコントリビュート）を促進するために、テストやドキュメントを作成しました。カスタマイズを望むチームは、そのカスタマイズを、Golden Pathに組み込んで、機能フラグを使用して共有できるようになりました。これにより、カスタマイズを行ったチームは自分たちの作業を他のチームと共有できるようになっただけでなく、そのカスタマイズがCIプラットフォームチームのコードベースの一部になったため、将来的にそのカスタマイズが壊されないことを保証できるようになりました。\n\nこの取り組みには、特定のチームが必要な機能を求めて待機することなく、自分たちでその開発に取り組めるようになったという利点もありました。たとえば、「その機能は数週間後に実装する予定ですが、もし早めに必要であれば、ぜひコントリビュートしてください」と伝えることができます。結果的に、同等性に必要な多くのコア機能がこのようなアプローチで開発され、チームのリソースでは実現できないほど迅速かつ質の高い形で提供されました。このモデルがなければ、移行は成功しなかったでしょう。\n\n## 予定より早く、予算内で達成\n\nチームのCloudBeesライセンスは2024年4月1日に期限切れになりました。これに伴い、完全移行を達成するための挑戦的な目標を設定しました。当時、ビルド全体の80%（全プロジェクトの60%）でCIにJenkinsが使用されていたことを考えると、この目標は特に野心的だったと言えます。つまり、2,000以上の[Jenkinsfiles](https://www.jenkins.io/doc/book/pipeline/jenkinsfile/)を新たに書き直すか、Golden Pathのテンプレートに置き換える必要があったのです。\n\nこの目標を達成するために、チームはドキュメントやサンプルコードを提供し、可能な限り機能を実装したほか、ユーザーが機能を追加できるように支援しました。\n\nまた、定期的なオフィスアワーを設け、誰でも質問をしたり、移行の支援を求めたりできるようにしました。さらに、移行に関連するサポートの質問を、一部を除いて他のどの質問よりも優先しました。CIプラットフォームはGitLab CIのエキスパートとなり、その専門知識をチーム内および組織全体で共有しました。\n\n自動移行はほとんどのプロジェクトでは実現できませんでしたが、カスタマイズがまれな比較的小規模なプロジェクトには有効であることがわかりました。チームはSourcegraphの一括変更キャンペーンを作成し、数百のプロジェクトを移行するためにマージリクエストを送信しました。そして、ユーザーにその承認を促しました。\n\nユーザーからの成功事例を広く共有し、ユーザーがGolden Pathに新しい機能を追加するたびに、「GitLab CIに移行するとこれらの機能が無料で利用できる」と宣伝しました。これらの機能には、ビルトインのセキュリティやコンプライアンススキャン、CIビルドのSlack通知、他の内部システムとのインテグレーションなどがあります。\n\nさらに、積極的な「screamテスト」キャンペーンを実施しました。しばらく実行されていない、または成功していないJenkinsジョブを自動的に無効にし、必要であれば再度有効にできるとユーザーに通知しました。これは、手間をかけずに実際に必要なジョブを特定できる効果的なアプローチでした。前回のCI移行（JenkinsからJenkinsへの移行）以降、一度も実行されていない数千のジョブがあり、これらをほぼすべて安全に無視できることがわかりました。\n\n2024年1月には、例外が明示的に要求されない限り、すべてのJenkinsコントローラーが読み取り専用（ビルド不可）になると発表しました。コントローラーに関する所有情報が大幅に改善され、組織の構造に合致していたため、ジョブよりもコントローラーに焦点を当てることが合理的でした。コントローラーのリストはジョブのリストよりもはるかに管理しやすいものでした。\n\n例外を認めるために、ユーザーにはスプレッドシートでコントローラーを見つけ、その横に連絡先情報を入力してもらうよう依頼しました。これにより、フォローアップできる利害関係者の最新リストを確実に取得できるだけでなく、ユーザーからも絶対に必要なジョブを明確に知らせてもらうことができました。ピーク時には約400ものコントローラーがありましたが、1月には220に減少し、そのうち例外を必要とするのは54のコントローラーだけでした（そのうちいくつかはチームで所有し、テストやカナリアのために使用していました）。\n\n![Indeed - Jenkinsコントローラー（個数）の推移グラフ](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750099357/Blog/Content%20Images/Blog/Content%20Images/image2_aHR0cHM6_1750099357392.png)\n\n私たちは、約50チームの管理可能なリストをチーム内で分担し、各チームの移行の進捗状況を聞き取りし始めました。1月、2月中に、そして一部のチームは2月28日までに私たちの支援なしで移行を完了させる予定であり、他のチームはその時点までのプロジェクト廃止を計画していることが判明しました。そして、ごく少数のチームが期限内に完了できるか非常に心配していました。\n\n私たちはこの少数のチームと協力し、きめ細やかな個別対応サービスを提供しました。私たちには移行を代行する上での専門知識が不足しているものの、そのチームの特定分野の専門家と協力できることを説明しました。一部のプロジェクトでは、私たちがコードを書き、そのチームがレビューを行い、他のプロジェクトではそのチームがコードを書き、私たちがレビューを行いました。最終的に、すべての努力が実を結び、8か月前に宣言した日に、Jenkinsを無事に廃止することができました。\n\n## 成果：CI効率とユーザー満足度の向上\n\nJenkins CIプラットフォームのピーク時には、1日あたり14,000以上のパイプラインが実行され、数千のプロジェクトをサポートしていました。現在、GitLab CIプラットフォームは、1日あたり40,000以上のパイプラインを処理し、通常は25,000以上のパイプラインが日常的に稼働しています。各パイプラインのジョブごとの増分コストはJenkinsと同程度ですが、コントローラーを実行するためのハードウェアのオーバーヘッドがなくなりました。これらのコントローラーは、単一障害点であり、スケールの制限要因でもあったため、プラットフォームを人工的にセグメント化せざるを得ませんでした。正確な比較は難しいものの、このオーバーヘッドがなくなったことで、CIハードウェアコストは10～20%削減できたと考えています。さらに、GitLab CIはクラウド上で自動的にスケールし、複数の可用性ゾーンで動作する耐障害性を備えているほか、テンプレート言語には優れた公開ドキュメントがあるため、サポートの負担も軽減されています。\n\n特筆すべきもうひとつの利点としては、現在、Golden Pathの採用率が70%を超えていることです。これにより、私たちが改善策をロールアウトすれば、Indeedの5,000以上のプロジェクトは、特別な操作をせずにすぐにそのメリットを享受できるようになることがわかりました。この結果、一部のジョブをよりコスト効率の高いARM64インスタンスに移行したり、ユーザーのビルドイメージをより簡単に更新したりできるようになりました。また、他のコスト削減の機会をより適切に管理することも可能になりました。最も重要なことは、ユーザーが新しいプラットフォームに満足していることです。\n\n__著者について__：\n*Carl Myers氏はカリフォルニア州サクラメント在住で、Indeed社のCIプラットフォームチームのマネージャーを務めています。Carl氏は、約20年にわたるキャリアを通じて、大小さまざまな企業で、エンジニアのニーズを満たし、その能力を引き出すための社内ツールやデベロッパー向けプラットフォームの構築に尽力してきました。*\n\n**謝辞**：\n*この移行プロジェクトは、Tron Nedelea氏、Eddie Huang氏、Vivek Nynaru氏、Carlos Gonzalez氏、Lane Van Elderen氏、そしてCIプラットフォームチームの他のメンバーの尽力なしには実現できませんでした。チームはまた、プロジェクト全体を通じて、合意やリソースの確保、そして社内全体の調整に尽力していただいたDeepak Bitragunta氏とIrina Tyree氏のリーダーシップに、特に感謝しております。最後に、コード、フィードバック、バグレポートに貢献し、プロジェクトの移行を支援してくださったIndeed社の皆様に感謝申し上げます。*\n\n**この記事は、Indeedエンジニアリングブログに掲載された[「How Indeed Replaced Its CI Platform with GitLab CI」](https://engineering.indeedblog.com/blog/2024/08/indeed-gitlab-ci-migration/)の編集版です。**",[680,111,724,725],"user stories","DevSecOps platform","2025-01-10",{"slug":728,"featured":93,"template":684},"how-indeed-transformed-its-ci-platform-with-gitlab","content:ja-jp:blog:how-indeed-transformed-its-ci-platform-with-gitlab.yml","How Indeed Transformed Its Ci Platform With Gitlab","ja-jp/blog/how-indeed-transformed-its-ci-platform-with-gitlab.yml","ja-jp/blog/how-indeed-transformed-its-ci-platform-with-gitlab",{"_path":734,"_dir":249,"_draft":6,"_partial":6,"_locale":7,"seo":735,"content":741,"config":748,"_id":750,"_type":16,"title":751,"_source":18,"_file":752,"_stem":753,"_extension":21},"/ja-jp/blog/customers-sourcenext",{"title":736,"description":737,"ogTitle":736,"ogDescription":737,"noIndex":6,"ogImage":738,"ogUrl":739,"ogSiteName":669,"ogType":670,"canonicalUrls":739,"schema":740},"外部開発パートナーを含む開発プロセスを、GitLabによるオールインワン開発環境に統合し最適化","社内にあるECを含む最も大きなシステムの開発・運用プロジェクトにおいて、GitLabのすべての機能を有効に活用し、DevSecOpsを実現したソースネクスト株式会社様の事例をご紹介します。","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749665427/Blog/Hero%20Images/_NYG2730.jpg","https://about.gitlab.com/blog/customers-sourcenext","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"外部開発パートナーを含む開発プロセスを、GitLabによるオールインワン開発環境に統合し最適化\",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"GitLab Japan Team\"}],\n        \"datePublished\": \"2024-08-21\",\n      }",{"title":736,"description":737,"authors":742,"heroImage":738,"date":743,"body":744,"category":14,"tags":745},[700],"2024-08-21","ソースネクスト株式会社（以下、ソースネクスト）は、社内にあるECを含む最も大きなシステムの開発・運用プロジェクトにおいて、GitLabのすべての機能を有効に活用し、DevSecOpsを実現しました。社内の開発メンバーと外部の開発パートナー企業がGitLabをひとつの開発プラットフォームとして駆使し、プロセスの厳格化によるビジネスリスク低減に成功。同時に、Deploy工程の9割を自動化するなどの工数削減効果を得て、生産性250％アップという成果に結びつけることができました。\n\n## 目次\n1. 3つの開発環境をGitLabでひとつに統合\n2. オールインワン開発環境のGitLabをフルに使ってやってみる\n3. Deploy工程の9割を自動化、生産性は250％アップ\n4. 「気づいていないリスク」を可視化する価値\n\n## 3つの開発環境をGitLabでひとつに統合\n\nソースネクストは、パソコン・スマートフォンソフトウェアおよびハードウェア製品の企画・開発・販売を行う東証プライム市場上場企業です。「製品を通じて、喜びと感動を、世界中の人々に広げる」という創業以来の思いから、消費者とメーカーにとって最適なプライシング戦略が強み。近年はIoT製品の取り扱いを広げ、AIを活用した取り組みも積極化させるなど、最新テクノロジーをうまくビジネスに取り入れながら成長を続けています。\n\n同社では、ソフトウェア開発において、少数精鋭の社内エンジニアと外部開発パートナー企業との協業体制を取っています。長年一緒にやる中で関係性は深まり、優れたチーム同士が役割分担しながらシステムをブラッシュアップしてきました。しかし、セキュリティとガバナンスが大きな経営課題としてクローズアップされる中、より密にチーム同士を連携させ、一貫した厳格な開発プロセスへと移行とすることで、ビジネスへのリスクを極小化したいというニーズが出てきました。\n\n同社 CIO 高沢 冬樹氏は、「開発環境刷新の対象としたシステムを担当する外部開発パートナーは2社で、どちらもスキルが高く、信頼できるメンバーがそろっている企業です。ただ、以前の開発プロセスは、社内のものと2社のものが同時に走る状態で、いわば3つのDevOpsが並立していたようなイメージだったのです」と話します。\n\nこれら3つの開発環境を統合するとともに、セキュリティを開発プロセスに取り込む __DevSecOps__  \u003Csup>*\u003C/sup>へと昇華させたい――。高沢氏も経営層も意見は同じでしたが、管理を厳格化すると現場がやらなければならないことが増え、結果として現場に負担を強いることになります。そこで、DevSecOpsを定着させて経営の求める厳格な開発プロセスへと移行しながら、同時に現場を楽にする自動化をやり遂げ、負担をトレードオフするという発想が生まれました。\n\n\u003Csup>*\u003C/sup>*開発と運用を統合するDevOpsにセキュリティを加え、運用を視野に入れながら開発とセキュリティを同時に進め、安心・安全なソフトウェアを迅速にリリースするというコンセプト。*\n\n## オールインワン開発環境のGitLabをフルに使ってやってみる\n![DSC2776](https://res.cloudinary.com/about-gitlab-com/image/upload/v1749687819/Blog/Content%20Images/_DSC2776.jpg)\nソースネクスト株式会社 CIO 高沢 冬樹氏\n\nDevSecOpsを検討するにあたり、ソースネクストは株式会社トレンドソリューションズ（以下、トレンドソリューションズ）に協力を依頼しました。そして、市場にあるDevSecOpsソリューションの中から、GitLabを本格的に調査することになりました。検討初期において、GitLabの最大の魅力は強力な脆弱性スキャン能力でした。ただ、DevSecOpsのコンセプトを深く理解するようになるにつれ、「1つの製品でDevSecOpsのすべてのプロセスに対応できる」ことと、「豊富なドキュメント系の機能を備えていて、振り返りをしやすい仕組み」こそが、求めている仕様にマッチしていることがわかってきたといいます。\n\n「GitLabだけがあればDevSecOpsを実現できる、というトータルソリューションになっている点は、初めて取り組む上で重要でした。開発コードのセキュリティスキャン、CI/CDなど開発リリース時に必須の個別プロセスに対応できるツールを組み合わせて“DevSecOpsのDIY”をするというアプローチもあるのかもしれませんが、詳細な機能比較をするにしても、だれも体感したことのない機能に優劣をつけようがありません。ですから、まずはGitLabをフルに使ってやりたいことをすべてやってみて、どうしても足りなければそのときに考えようという方向で意見が一致しました」（高沢氏）\n\n今回のプロジェクトで対象となったのは、社内で最も大きなECを含むフロントエンドシステムです。高沢氏は、「スモールスタートでテストしたかったわけではありません。最も難しいところからスタートしたのは、動機が“DevSecOpsを使ってみたい”ではなく、“ビジネスの品質を高めたい”という真剣なものだったから。最初から成果が求められました」と振り返ります。\n\nGitLabの採用を決め、半年をかけてじっくりと新たな開発プロセスを整備していきました。経験豊富なトレンドソリューションズのスペシャリストがプロジェクトをリードし、社内エンジニアが外部開発パートナーを巻き込んで議論を重ね、さまざまな決めごとをクリアしていったのです。\n\n具体的には、GitLabとDevSecOpsのコンセプト理解および共有からスタートし、to beモデルを作成。それに向けた課題をリスト化し、順次プロセスの中に落とし込んでいくイメージです。ワークフローの整備やCI/CDの仕様策定など、専門的な知見が生きる分野はトレンドソリューションズが主導したことで、プロジェクトはスムーズに進みました。\n\n巨大で複雑なシステムであるために、苦労した点もありました。Microsoft Azureベースのシステムであり、「自動化のための呪文（笑）を唱えるとうまくいくところ」（高沢氏）を切り抜ける必要がありました。システムの中にCMSパッケージがあり、その部分と連携するシステム開発においてサーバ側で独特な手法を取りながら自動化するという調整も実施しました。AzureとCMS、GitLabのすべてを深く理解しているメンバーはおらず、最適な着地点を見い出すために全員がプロジェクトの成功にコミットして知識を持ち寄る必要もありました。\n\nプロジェクトメンバーは、これらの課題に立ち向かい、稼働時にはGitLabを使う新たな開発プロセスへと移行することができました。プロジェクト初期から、課題管理にGitLabのイシュー機能を利用したことも、スムーズな移行に役立ちました。これはトレンドソリューションズがGitLab導入プロジェクトでよく使う手法で、初期からすべてのメンバーが仕事の中でGitLabを使う習慣が自然と身につくという点で価値は高かったといいます。\n\n## Deploy工程の9割を自動化、生産性は250％アップ\n![DSC2726](https://res.cloudinary.com/about-gitlab-com/image/upload/v1749687819/Blog/Content%20Images/_DSC2726.jpg)\n\n実は、無理をして自動化しなかった部分や、あえて手作業を残した部分もあります。たとえば、CI/CDを工夫し、一部に手作業を加えることでよりセキュアな開発をできるようにしました。Deployにかかわる全工程は、現状で9割の自動化にとどめています。\n\n高沢氏は、「Deploy部分は、もっと自動化しようと思えばできます。ただ、実務を考えると自動化しない部分を残しておいた方が良いと判断したケースもあるのです。たとえば、最後の検証作業はパフォーマンスチェックも含むので、自動化したとしても結局は目視することになります。やろうと思えば95％までならいけるのですが、やめておいた方がより良さそう、というせめぎあいです。もう少し慣れてくると、現場と相談して自動化部分を増やすかもしれません。ただ、現場がやりやすい開発プロセスを目指すなら、9割くらいが最適解かもしれませんし、9割は十分に良い数字だと自負しています」と話しています。\n\nGitLabの稼働後、そのほかにも多くの成果が顕在化しています。エラー検知とセキュリティ診断がプロセスに取り込まれた上に自動化されたことで、作業効率を高めながらプロセスを厳格化することに成功しました。手作業でやっていった際には時間のかかっていたパッケージングプロセスは完全に自動化できました。これらを含め、トータルな作業負荷を低減できたため、エンジニアの生産性は250％以上アップしている感覚があるといいます。\n\nこれまでの“3つのDevOps”は、“ひとつのDevSecOps”になり、自社が担当する部分と開発パートナーに任せる部分をすべてソースコードレベルから、イシューを含めて管理できます。これにより、初期開発時の思想を含めてすべての情報を管理できるようになりました。また、以前は時間を要していた組織をまたいだマージリクエスト処理でも、“組織”という壁はもはやありません。\n\n## 「気づいていないリスク」を可視化する価値\n![DSC2722](https://res.cloudinary.com/about-gitlab-com/image/upload/v1749687819/Blog/Content%20Images/_DSC2722.jpg)\n\n高沢氏は、「開発における最大の課題は、“気づいていないリスク”です」と話します。あらゆるシステムは、「将来にわたって絶対にリスクがない」と言えませんが、それ以上に、「今リスクがあるのかどうかも不確かであり、確かめようがなかった」のです。「例えば、サードパーティのJSライブラリを、ユーザー体験をより良くするためにWebサイトのごく一部で使っていた、などのケースはよくあることです。これらは存在すら見つけにくい上に、コールするライブラリの先の先にリスクが潜んでいる場合もあります。ソースコードチェックだけでリスク発見することはほぼ不可能です」。\n\nGitLabで一貫したDevSecOpsを実現したことで、コールするライブラリの先の先までを自動検証し、リスクを避けることができます。目指していた姿は、「100％安全なシステムはありえないけれど、“ここまできちんとやっている”と自信を持って説明できる状態」（高沢氏）です。そして、それを実現することができました。今回の成功を受けて、販売する製品別のシステム開発プロジェクトや、社内業務システムの開発・運用プロジェクトにも、今後GitLabを展開する計画も出てきました。\n\nソースネクストがDevSecOpsを推進している、という噂は、IT関係者に伝わり始めているようです。そのため、高沢氏は各社のCIOが集まる場で意見を求められるケースが増えてきたといいます。\n\n高沢氏は、「DevSecOpsは国内企業からも大きな注目を集めていて、私たちがGitLabを使って __シフトレフト__ \u003Csup>**\u003C/sup>に全力で取り組んでいるという話をすると、みなさん興味津々です。ただ、実際に取り組んでいる企業の数となるとまだまだかもしれません。ですから、まずはDevSecOpsというコンセプトを理解すること。そして、それに共感するのであれば、いちはやくスタートすることをおすすめしています」と話してくれました。\n\n\u003Csup>**\u003C/sup> *開発の各フェーズにセキュリティ対策を組み込み、開発効率を向上させながらセキュリティリスクを低減しようとする考え方。GitLabはコード解析、脅威モデリング、テストなどシフトレフトに役立つ機能を提供している。*\n\u003Cbr>\n\u003Cbr>\n\n## ▶️事例PDFを[無料でダウンロードする](https://res.cloudinary.com/about-gitlab-com/image/upload/v1752463863/xmtslzjkrk9noyv7bio1.pdf)\n\u003Cbr>\u003Cbr>",[725,680,111,746,747,724],"security","DevSecOps",{"slug":749,"featured":93,"template":684},"customers-sourcenext","content:ja-jp:blog:customers-sourcenext.yml","Customers Sourcenext","ja-jp/blog/customers-sourcenext.yml","ja-jp/blog/customers-sourcenext",{"_path":755,"_dir":249,"_draft":6,"_partial":6,"_locale":7,"seo":756,"content":762,"config":769,"_id":771,"_type":16,"title":772,"_source":18,"_file":773,"_stem":774,"_extension":21},"/ja-jp/blog/online-retailer-bol-tackles-growing-compliance-needs-with-gitlab",{"title":757,"description":758,"ogTitle":757,"ogDescription":758,"noIndex":6,"ogImage":759,"ogUrl":760,"ogSiteName":669,"ogType":670,"canonicalUrls":760,"schema":761},"大手EC会社のBol社がGitLabでコンプライアンス管理に成功した事例","ヨーロッパの大手EC会社が常に変化するコンプライアンスに、GitLabでどのように対処しているかを事例を通してご紹介します。ぜひお読みください。","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749665465/Blog/Hero%20Images/blog-image-template-1800x945__15_.png","https://about.gitlab.com/blog/online-retailer-bol-tackles-growing-compliance-needs-with-gitlab","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"大手EC会社のBol社がGitLabでコンプライアンス管理に成功した事例\",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"Julie Griffin\"}],\n        \"datePublished\": \"2024-06-12\",\n      }",{"title":757,"description":758,"authors":763,"heroImage":759,"date":765,"body":766,"category":14,"tags":767,"updatedDate":768},[764],"Julie Griffin","2024-06-12","国際的な大手小売業のBol社がGitLabを利用して、どのように開発効率化とソフトウェア規制遵守を実現しているのかご紹介します。\n\n[GitLab Ultimate](https://about.gitlab.com/ja-jp/pricing/ultimate/)プランを利用しているBol社は、オランダとベルギーにおける最大級のオンライン小売業（EC会社）です。同社のマーケットプレイスでは、5万ものパートナーが商品を販売しており、商品ラインナップ数は3,800万点に上ります。同社は革新的なテクノロジーを利用することで開発効率を向上させ、めまぐるしく変化するソフトウェアのコンプライアンス規制を遵守し、広範な顧客基盤からの信頼を維持しています。\n\n## BolがGitLabによってコンプライアンス管理に成功した事例\n\nBol社はGitLabの[DevSecOpsプラットフォーム](https://about.gitlab.com/ja-jp/platform/)を自社チームに導入し、デベロッパーが迅速かつ安全にプロジェクトを完了できるようにすると同時に、手動で行っていたコンプライアンスチェックにかかる工数を数千時間から大幅に削減しました。\n\nBol社の収益が増加するにつれて、同社が遵守しなければならないコンプライアンスルールや規制も増加しました。一般データ保護規則 （GDPR）や国際標準化機構 （ISO）の要件、EU人工知能法など、厳格で頻繁に更新される規制に準拠するためには、ソフトウェアを継続的に適応させる必要があります。\n\nBol社のCI/CD開発チームエンジニアリングマネージャであるGuus Houtzager氏は、次のように述べています。\n\n「GitLabは、当社が成長し、ソフトウェアとデベロッパーが順守すべき要件が増大する中で、柔軟性と競争力の維持に大きく貢献しています。私たちが抱えていたこれら最大の課題に対し、GitLabを活用することで解決を図りました。」\n\nBol社は2016年に[GitLabコミュニティ](https://about.gitlab.com/community/)に参入し、その数年後に[GitLab Premium](https://about.gitlab.com/ja-jp/pricing/premium/)を導入、2024年にはGitLab Ultimateにアップグレードしました。これにより、コンプライアンスの負荷増に対応するとともに、チームがより迅速かつ効率的にプロジェクトに取り組むことができる基盤を作り上げてきました。\n![bol社のGitLabに対するコメント](https://res.cloudinary.com/about-gitlab-com/image/upload/v1749675638/Blog/Content%20Images/bol_Blog_-_Guus.png)\n\n## 毎月数千時間の開発時間の節約 \n\nGitLabを活用することで、Bol社のDevSecOpsチームはコンプライアンス設定とチェックを自動化するポリシーを設定できます。これにより、[コンプライアンスへの取り組みに関する一貫性と拡張性を実現](https://about.gitlab.com/ja-jp/solutions/security-compliance/)し、人為的エラーによるリスクを軽減できます。コンプライアンスのガードレールが設定されたことで、850人の開発者チームは革新的で安全なソフトウェアの開発により多くのエネルギーを注ぐことができます。\n\nHoutzager氏は、次のように語りました。  \n「GitLab Ultimateを導入したことで、初めからコンプライアンス規制の範囲内で仕事ができるという強制的なコンプライアンスパイプラインを作ることができます。これにより、デベロッパーの作業時間を月間で数千時間ほど節約できました。」\n\nデベロッパーがコンプライアンス規制の負担を気にする必要がなくなり、コーディングに集中できるようになったことで、Bol開発チームの効率は飛躍的に向上しました。時間の節約だけでなく、チームは将来のコンプライアンス規制にも対応できると自信を持つようになりました。\n\nHoutzager氏はさらに続けます。  \n「私たちは、GitLabがコンプライアンスとソフトウェアセキュリティの両方に役立つことを信じています。GitLabには新しい規制に従って構築できるツールキットがあります。将来のことは誰にもわかりませんが、たとえ新しい規制が増えたとしても、GitLabであればどのような事態にも対処できると考えています。」  \n\n## 顧客と事業を守るためのシフトレフト\n\nヨーロッパ小売業界大手の1つであるBol社にとって、「信頼」はビジネスモデルの重要な柱です。同社は住所や注文明細など大量の個人データを取り扱っています。規制による罰金が懸念される一方で、、顧客からの信頼維持も重要な課題です。セキュリティの重要性は言うまでもありません。\n\nHoutzager氏は次のように述べました。  \n「オランダやベルギーのほとんどの住民が、これまでにBol社での購買経験があり、私たちを信頼してくれています。彼らは弊社が顧客の支払い情報を適切に扱うと信じています。弊社がお客様の個人識別情報（PIIデータ）を販売したりせず、データを安全に保管していると信じています。」\n\n顧客データとビジネスを保護するために、Bol社はシフトレフトセキュリティを導入し、デベロッパーが開発プロセスの早い段階でエラーや脆弱性を発見できるようにしました。しかし、適切なツールを使用せずにシフトレフトすると、発見した問題を修正するためにデベロッパーが膨大な時間を費やすことになる可能性があります。\n\nHoutzager氏はシフトレフトの実施について、次のように説明を加えました。  \n「チームが作業を効率的に実行できるようにするツールやサポート、プロセスを提供しないままでシフトレフトすると、チームは手順や手作業において困難を抱えます。」\n\nGitLab Ultimateを利用すれば、同社のセキュリティ要件を満たすレイアウトや権限モデルを設定できるため、デベロッパーは顧客とビジネスデータを保護しながら、プロジェクトを迅速に立ち上げリリースできます。また、DevSecOpsプラットフォームには、デベロッパーが行った変更や修正を追跡し、コンプライアンスレコードに記録するという機能もあります。\n\n## AIとともに見据える未来\n\nBol社は今後、クラウド統合や人工知能 (AI) 機能、セキュリティ機能など、GitLab Ultimateをさらに活用していく予定です。\n\n同社は、AI機能が搭載された[GitLab Duo](https://about.gitlab.com/ja-jp/gitlab-duo/)がソフトウェア開発のスケールアップを支援してくれると期待しています。GitLab Duoは、安全ななソフトウェアの迅速な構築からデベロッパーエクスペリエンスの向上まで幅広く貢献します。\n\nHoutzager氏は、AIの可能性と利用条件について、次のように述べています。  \n「私たちがAIを使うには、状況が整っている必要があります。そして、AIがどのように役立つかを必ず検討します。他の企業の皆さんと同じように、ソフトウェア開発のライフサイクル全体を見通しながら、AIによって改善できる箇所を探しています。例えば、コード作成の場面や一連のプロセスの他の場面で、どのようにAIを活用できるかなどを常に考えています。」\n\n> GitLabのさらなる魅力については、 [GitLabを選ぶ10の理由](https://about.gitlab.com/ja-jp/why-gitlab/)をご覧ください。\n",[111,746,680,725],"2024-11-28",{"slug":770,"featured":6,"template":684},"online-retailer-bol-tackles-growing-compliance-needs-with-gitlab","content:ja-jp:blog:online-retailer-bol-tackles-growing-compliance-needs-with-gitlab.yml","Online Retailer Bol Tackles Growing Compliance Needs With Gitlab","ja-jp/blog/online-retailer-bol-tackles-growing-compliance-needs-with-gitlab.yml","ja-jp/blog/online-retailer-bol-tackles-growing-compliance-needs-with-gitlab",{"_path":776,"_dir":249,"_draft":6,"_partial":6,"_locale":7,"seo":777,"content":783,"config":793,"_id":795,"_type":16,"title":796,"_source":18,"_file":797,"_stem":798,"_extension":21},"/ja-jp/blog/southwest-looking-to-help-developers-take-flight",{"title":778,"description":779,"ogTitle":778,"ogDescription":779,"noIndex":6,"ogImage":780,"ogUrl":781,"ogSiteName":669,"ogType":670,"canonicalUrls":781,"schema":782},"ソフトウェア開発効率化に成功したサウスウエスト航空の事例","GitLabのDevSecOpsプラットフォームによって業務削減と開発効率化に成功したサウスウエスト航空の事例をご紹介します。ぜひ参考にしてください。","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749665272/Blog/Hero%20Images/AdobeStock_380312133.jpg","https://about.gitlab.com/blog/southwest-looking-to-help-developers-take-flight","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"ソフトウェア開発効率化に成功したサウスウエスト航空の事例\",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"Sharon Gaudin\"}],\n        \"datePublished\": \"2024-01-30\",\n      }",{"title":778,"description":779,"authors":784,"heroImage":780,"date":786,"body":787,"category":14,"tags":788,"updatedDate":792},[785],"Sharon Gaudin","2024-01-30","世界最大の格安航空会社「サウスウエスト航空」のITリーダーは、デベロッパーのワークフローから時間のかかる反復作業を取り除き、時間に余裕を持たせることで、より大きなプロジェクトに集中できる環境を作り上げています。特に意識しているのは、デベロッパーの仕事を「容易」にすることです。\n\n航空会社のDevOpsチームが、GitLabの導入と運用によって問題の検出力と解決力を飛躍的に向上させている事例についてご紹介します。\n\nサウスウエスト航空の副社長兼最高情報責任者であるJim Dayton氏は、次のように述べています。\n「デベロッパーを阻害する要因をできる限り取り除くことが、当社のやり方です。彼らがソフトウェア開発に携わるのは、その創造性が好きで、問題解決が大好きだからだと確信しています。よって、私たちの役割は、彼らの邪魔をしているものを排除することなのです。」\n\nDayton氏がこの考えを実現するために利用しているものが[GitLabのプラットフォーム](https://about.gitlab.com/ja-jp/platform/)です。\n\nDayton氏は、GitLabがダラスで開催した「[DevSecOps World Tour](https://about.gitlab.com/events/devsecops-world-tour/)」の舞台上インタビューで、デベロッパーの立場に立ちながら彼らの業務を滞りなく進行させるサウスウエスト航空の取り組みについて語りました。また、GitLabのエンタープライズソリューションアーキテクチャのディレクターであるReshmi Krishnaとの対談では、人工知能機能がチームにもたらすメリットについて意見を述べました。\n\nサウスウエスト航空の幹部は、アプリケーション開発にDevOpsアプローチを導入していると述べ、同社がデベロッパーにより多くの自己解決型ツールとナレッジマネジメントプロセスを提供していると語りました。\n\n「私たちは、デベロッパーが問題をより素早く調べ、解決策を発見できるようにして、頭の切り替えをできる限り減らしたいと考えています。幹部の私たちが、彼らに求めることを正確に把握し、何が彼らの生産性を妨げているのかを見極めなければなりません。」\n\nDayton氏によると、サウスウエスト航空は2019年にGitLabとの関係を確立して以来、ソフトウェア開発プロセスの一貫性確保に注力しています。これは、コードをGitLabの共有リポジトリに移すことを意味します。すべてのコードがどこに保管されているのかを把握することで、チームはより簡単に指標を評価し、コードの再利用による効率化を目指せるようになります。\n\nDayton氏は次のように付け加えました。  \n「弊社は現在、エンタープライズ・パイプラインを完成させる過程にあり、チームの移行を開始する準備が整っています。様々なアプリケーション開発チームと緊密に協力しており、新たに構築中のパイプラインに必要なものを理解し、移行する準備を進めています。年末までにはほとんどのプロセスが完了すると想定しています。」\n\n### AIの将来性\n\nDayton氏は、AIの利用はデベロッパーがより大きく、より革新的なタスクに集中できるようにする方法の1つだと述べています。\n\n生成AIは、脆弱性の説明やコードの提案、コード補完のいずれにおいても、ソフトウェア開発におけるライフサイクル全体のワークフローに多大な影響を与える能力を備えています。プラットフォームに組み込まれたAIツールを活用することで、セキュリティを強化し、コードレビューやアプリケーション開発に費やす時間を短縮できます。\n\nDayton氏は、AI機能を使用することで開発とデプロイを迅速かつ容易にできるようになると期待を寄せています。\n\n「私たちは、凡庸で形式的な作業をできる限り排除したいと思っています。AIを使えば、それが実現できるかもしれません。AIについては大きな話題性がある一方で、実際に大きな可能性も秘めています。特定されたばかりの脆弱性に対するソリューションを即座に提供できること、コードの一部がどのような処理を行っているかを教えてくれることなどは、そのすばらしい例です。これが何と統合しているのか、アクセスしているデータは何か、その理由などもAIが教えてくれます。例えば、このアプリケーションで過去1年間に発生したインシデントの20%が、この特定のコーディングセットによるものであることの理由を英語でわかりやすく説明してとAIに依頼もできます。AIの力が発揮されるのはこういうところでしょう。」\n\nDayton氏は、AIがデベロッパーに取って代わることはないが、彼らの仕事をスムーズに進められるよう支援するだろうと考えます。AIがもたらすもう一つのメリットは、コロナ後に多くの人がリモートで仕事をしている時代に、デベロッパーをつなぐことも挙げられます。\n\n「GitLabのロードマップにある便利な機能のひとつが『レビュアーの推奨』です。以前であればコードレビューを依頼する際には、壁越しや別の部屋に向けて『誰か私のコードを見てくれないか』と叫ぶ必要がありましたが、リモートの環境においてはそれは不可能です。AIは、そのコードで実際に作業したことがある人や、そのコードでインシデントを解決したことがある人を見つけ出し、提案してくれます。これがレビュープロセスにどのくらいの価値をもたらすのかは容易に想像できるでしょう。自動化が進めば進むほど、手動のステップや待機時間が少なくなると思います。」\n\n\u003C!-- blank line -->\n\u003Cfigure class=\"video_container\">\n  \u003Ciframe src=\"https://www.youtube.com/embed/UnUfp7pKnEQ?si=qcX2Qm3zpgQOV4xy\" frameborder=\"0\" allowfullscreen=\"true\"> \u003C/iframe>\n\u003C/figure>\n\u003C!-- blank line -->\n\n*サウスウエスト航空はテキサス州ダラスに拠点を置く、およそ240億ドル規模の企業です。72,000人の従業員を擁し、120の目的地に1日4,000便を運航しています。サウスウエスト航空は他のどの航空会社よりも国内線を多く運行しています。GitLabのさらなる魅力については、 [GitLabを選ぶ10の理由](https://about.gitlab.com/customers/)をご覧ください。*",[789,790,791,680],"DevOps","DevOps platform","AI/ML","2024-11-25",{"slug":794,"featured":6,"template":684},"southwest-looking-to-help-developers-take-flight","content:ja-jp:blog:southwest-looking-to-help-developers-take-flight.yml","Southwest Looking To Help Developers Take Flight","ja-jp/blog/southwest-looking-to-help-developers-take-flight.yml","ja-jp/blog/southwest-looking-to-help-developers-take-flight",{"_path":800,"_dir":249,"_draft":6,"_partial":6,"_locale":7,"seo":801,"content":807,"config":814,"_id":816,"_type":16,"title":817,"_source":18,"_file":818,"_stem":819,"_extension":21},"/ja-jp/blog/u-s-navy-black-pearl-lessons-in-championing-devsecops",{"title":802,"description":803,"ogTitle":802,"ogDescription":803,"noIndex":6,"ogImage":804,"ogUrl":805,"ogSiteName":669,"ogType":670,"canonicalUrls":805,"schema":806},"米国海軍 Black Pearl: DevSecOps の推進における教訓","Sigma Defense社がDevSecOpsセキュリティとコンプライアンスを考慮し、米海軍Black PearlでDevSecOpsを導入した成功事例を見ていきましょう。","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749658924/Blog/Hero%20Images/securitylifecycle-light.png","https://about.gitlab.com/blog/u-s-navy-black-pearl-lessons-in-championing-devsecops","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"米国海軍 Black Pearl: DevSecOps の推進における教訓\",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"Sandra Gittlen\"}],\n        \"datePublished\": \"2023-12-12\",\n      }",{"title":802,"description":803,"authors":808,"heroImage":804,"date":810,"body":811,"category":14,"tags":812,"updatedDate":813},[809],"Sandra Gittlen","2023-12-12","米国政府請負業者である[Sigma Defense（英語）](https://sigmadefense.com/)のエンジニアリングディレクター、Manuel Gauto氏は、真のDevSecOps推進者です。Gauto氏は、Sigma Defenseが米国海軍向けに管理するDevSecOps環境「Black Pearl」の共同開発者として、開発、セキュリティ、運用の統合が、ソフトウェア開発のモダナイゼーションとスケーリングにおいてどれほど力を発揮できるかを直接目の当たりにしています。\n\nGauto氏は、「DevSecOps環境が正しく構築されていれば、ツール、セキュリティとコンプライアンス、接続性、オンボーディングといった要素がすべてプラットフォームの一部として扱われますから、ミッションの担当者は自分たちのミッションの状況に合わせてCI/CDの習熟に集中できます」と言います。\n\nまた、Gauto氏はワシントンD.C.で開催されたGitLabのDevSecOps World Tourに参加し、GitLab FederalのCTOであるJoel Krooswykとともに「Black Pearl」について語りました。特に、多数のソフトウェアファクトリーを統合し、単一で管理できるDevSecOpsクラウド環境に移行することで大きな成果が得られたと話し、具体的な成果として次の点を挙げました。\n\n- ソフトウェアファクトリーの準備時間が約6か月から3〜5日へと大幅に短縮\n- コストが約400万ドルから約40万ドルへと10分の1に削減\n- 運用許可（ATO: Authorization to Operate）による固有のセキュリティがあるため、より安全な環境を実現\n- オンボーディング時間が5週間から1日に短縮\n\n## Black Pearlの起源\n\n数年前、米国海軍は数多くのソフトウェアファクトリーを同時に稼働させていました。Gauto氏自身も、そのいくつかの立ち上げに関わっていました。「私たちは、多くのソフトウェアファクトリーを同時に稼働することは効率的なアプローチではないと気付きました。4か所か5か所の異なる場所でインフラが重複し、それぞれでまったく同じことを行っていたのです」とGauto氏は振り返ります。\n\nそこで、チームは、単一環境を提案しました。クラウドインフラを統合し、セキュリティの問題に対処し、接続性を提供できる環境を構築してはどうだろうかと。この単一環境は「Black Pearl」と名付けられ、現在は2つのサービスがあります。ひとつはLighthouseで、DevSecOpsのInfrastructure as Code（IaC）またはConfiguration as Code（CaC）のベースラインです。もうひとつはParty Bargeといい、マネージド型の共有サービスです。\n\nBlack Pearlの共通ソフトウェア環境には、運用許可（ATO）が与えられており、標準化されたDevSecOpsツール、パイプラインコンポーネントのテンプレート、ガバナンス/管理、ログおよびメトリクス、統合インフラ、クラウド自動化、コンピューティングリソースが利用できます。GitLabのDevSecOpsプラットフォームはBlack Pearlの要となる部分であり、ソースコード管理、タスク、ドキュメンテーション、およびセキュリティスキャンのための「ワンストップショップ」となっています。Gauto氏は、ソフトウェアのリリース判定には、ダッシュボードと可視化が特に重要であると語っています。\n\n「GitLabは私たちのニーズを実現可能にするプラットフォームです。これまでの開発では異なるツールを使い分ける必要があったのですが、今では組織内の開発でも、GitLabだけですべてが行えます。全員がひとつのプラットフォームに集まりますから、コラボレーションにおける効率も向上します」とGauto氏は語っています。\n\nGauto氏は、GitLabの機能が、スピードや安全面だけでなくコスト効率においてもソフトウェアファクトリーの立ち上げをサポートしていると言います。\n\n> 公共部門でのGitLabの活用法について詳しく見るには、[今すぐこちらからお問い合わせください]( https://about.gitlab.com/ja-jp/solutions/public-sector/)。\n\n## 強靭なDevSecOps環境を構築する方法\n\nBlack Pearlの立ち上げ以来、Gauto氏は強靭で安全な DevSecOps環境を構築するために何が重要なのかを数多く学んできました。Gauto氏は、重要なのは、サイロ化の解消、開発エコシステムの確立、DevSecOps環境におけるセキュリティとコンプライアンスの一元化、人材のオンボーディングを円滑かつ迅速にすること、柔軟性を保ちイノベーションに対してオープンであり続けることだと明かします。\n\n### 強力な開発エコシステムを確立する\n\n大規模組織、特に政府機関の間では、ソフトウェア開発がサイロ化に陥りがちです。「イノベーションのための部門があっても、コラボレーションの足かせとなることがあります。その部門が、ある環境や建物内では機能していても、他と連携するのが難しくなることがあります」とGauto氏は述べ、コード、ベストプラクティス、ツール、インフラなどの共有は難しい場合があると言います。\n\n「しかしGitLabを使用して適切に確立、管理されたツールのデプロイを構築すれば、他のチームが何をしているかが見えるようになり、より容易に共有ができるようになります」とGauto氏。「国内の別のラボにCDを郵送する代わりに、DevSecOpsチームが『あなたをこちらのプロジェクトのデベロッパーとして追加するので、リポジトリを自由に操作してください』と言うだけです」。\n\nエコシステムは、インフラストラクチャの認証での障壁を打破することで、ニーズを集約する助けになります。組織間に介在する認証はどのコミュニティにも共通する課題です。請負業社や政府のコンピュータが、どこからでもインターネット経由でBlack Pearlに接続できるようにすることに関して、「非機密下では他との連携において障壁となりうる認証を難しくしないことが大切です」とGauto氏は口にします。\n\n強靭なエコシステムがあれば、プランニング（アジャイル、スクラム、カンバンなど）に関するベストプラクティスやプロセスを構築し、オンサイトとリモートでの開発を統合し、ソフトウェアの承認を得て、さまざまな環境にアプリケーションを届けられます。\n\n### セキュリティとコンプライアンスを適用する\nDevSecOps環境におけるセキュリティとコンプライアンスに関して Gauto氏は、「最も重要なのは、列車が線路を進んでくるのが見えたら、可能な限り事前に準備を整えておくこと」と話しつつ、「驚かないように、そして電車が来たとき線路に立っていないようにすることです」と語りました。\n\nこの考えが完全に当てはまる分野のひとつがコンプライアンスです。この分野では、規制が目まぐるしい速さで進化しています。「データやツールを、役割に見合った人がすぐに理解できる形式で提供できるように準備したい」とGautoは氏は言います。\n\nこの課題にもGitLab が上手く機能したとGauto氏は評価しています。同氏は「GitLab Ultimateは、はじめからコンプライアンスを組み込むことができ、多くの要素をテンプレート化できる」とした上で、顧客は直ちにコンプライアンスを遵守した運用を開始できると述べました。\n\nGitLabは、単一のプラットフォーム内でのライセンスとATOスキャンもサポートしています。\n\n### 人材の迅速なオンボーディングをサポートする\n\n軍において、トップレベルのDevSecOps人材を確保するにはいくつか障害があります。例えば、窓のない建物での勤務を厭わないことや、機密ネットワークで作業するための多くの手続きや規制をクリアしなければならないことです。\n\n「こういったことが、私たちが抱える非常に難しい問題を解決できる優秀な人材を呼び込む能力を大きく制限していると思います」とGauto氏。Black Pearlのミッション支援を成功裏におさめるには、「できるだけ幅広い人材へのアクセスを可能にし、その後、持続可能なオンボーディングのワークフローを構築すること」が不可欠でした。\n\n国防総省（DoD）内には解決を必要とする難しい問題が数多く存在しますが、政府、産業界、学界という異なる組織を横断して連携する能力が制約要因となることがあります。「ソフトウェア開発が行われている場所は多数ありますが、共通の作業環境がなければ、作業が重複したり、失われたり、十分に活用されなかったりすることがあります」とGauto氏は訴えます。\n\nBlack Pearlは、異なる組織がアクセスしやすい形で連携できる環境を提供しています。Black Pearlは、認可されたユーザーが煩雑なアクセス手順なしに、さまざまなデバイス、ネットワーク、ロケーションから環境にアクセスできるようにすることを第一目標にしています。このアプローチは、新しいアイデアの創出を促進し、新しい機能の実現をスピードアップします。\n\n### 柔軟性を保ちイノベーションを実現する\n\n軍には、潜水艦から航空母艦まで、多種多様な配備環境があるため、Black Pearlはことのほか柔軟でなければなりません。「私たちは、一人ひとりが自分の領域を管理でき、それぞれの問題領域に特化した部分に努力を集中できるようにしています」とGauto氏は語ります。「それひとつですべてを統制できるようなパイプラインなどないことは分かっています。だからこそ、ツールキットを提供し、全ユーザーがそれぞれのニーズに合わせてソリューションをカスタマイズできるようにしています。『ソフトウェア開発はこの方法で行うべきだ、こうやってデリバリーを行なうべきだ』とは言いません」。\n\nBlack Pearlは、顧客がCI/CDパイプライン、スキャン、テストなどのGitLab Ultimateの構成要素を活用し、それぞれの環境において責任を持つよう推奨しています。「お客様には、私たちが提供するすべてのツールを使えるレベルに到達してほしいと考えています」とGauto氏は言います。また、Black Pearlが顧客に機能を提案するのではなく、顧客が自己の要件を主導できるように顧客を教育しています。\n\nたとえば、Black Pearlチームは、海軍のイージス統合兵器システムのソフトウェアファクトリーであるThe Forgeの開発チームと緊密なコラボレーションを図っています。「ある日、The Forge チームが『ソースコードをチェックインする前に、それに機密情報が含まれていないかスキャンすべきだと思います』と言ったのですが、まさにその通りでした」。\n\nGauto氏はまた、イノベーションを抑制したり、顧客を過度に制約したりしないように注意したいとも考えています。「すべてがクラウドに格納されるコンテナ化されたビジネスアプリケーションというわけではありませんからね」と Gauto氏。同氏はチームメンバーに「独自のアプローチを取る人に対してこそ柔軟に対応する戦略を」と指示しています。「なぜなら、風変わりなことをしている人はたいてい、何か面白いことをしているからです」。\n\n人工知能（AI）と機械学習は、この哲学の試金石となるでしょう。「これから、斬新なツールや目新しいデータ分類が生み出されていく中で、私たちはそれらに迅速に、かつ繰り返し対応していく必要があるでしょう」とGauto氏は語っています。\n\n## 証明された理論\nGauto氏は、Black Pearlの導入率が過去12ヶ月で400%増加したことを誇りに思っています。これが同氏の唱えるコンセプトの有効性を証明していると考えるからです。「『煩わしい作業』は気にせず、問題を迅速に解決できようにするマネージドサービスというBlack Pearlの理論は機能し、価値があります」とGauto氏は語っています。\n\n> [公共部門でのGitLabの活用法](https://about.gitlab.com/ja-jp/solutions/public-sector/)をもっと知りたいですか。こちらをお読みください。",[747,725,746,272,189],"2024-12-04",{"slug":815,"featured":93,"template":684},"u-s-navy-black-pearl-lessons-in-championing-devsecops","content:ja-jp:blog:u-s-navy-black-pearl-lessons-in-championing-devsecops.yml","U S Navy Black Pearl Lessons In Championing Devsecops","ja-jp/blog/u-s-navy-black-pearl-lessons-in-championing-devsecops.yml","ja-jp/blog/u-s-navy-black-pearl-lessons-in-championing-devsecops",1,[690,710,733,754,775,799],1754079087544]