事例

Cruise Automation & GitHub

GitHubとCircleCIを連携させることで、セキュアでシームレスな開発を実現し、エンジニアの生産性を向上。

自動運転技術の開発競争は激化している。GMの子会社であるCruise Automationは、Chevrolet Boltの完全な電気自動車化および自動運転化の開発を進めている。この開発競争で優位に立つため、迅速かつ安全に自動運転車を開発するためのツールとして、GitHubEnterprise とCircleCI Enterpriseを選択した。

CI 環境構築に時間がかかり、品質テストが満足に行えない

自動運転車の開発は非常に複雑であることは誰もが認めるところだろう。自動運転を管理するソフトウェアは、自動車を物理的に操作し、交通法を遵守しながら地図の指示に従い、道路上のあらゆる状況に即座に対応しなければならない。

Cruiseでは以前よりGitHub.comを使用しており、エンジニアはGitHubの利用自体は熟知していた。しかし、コードそのものやそのコードにアクセスしたユーザーをより厳格に管理するなど、よりセキュアな開発環境を用意する必要があった。

また、継続的インテグレーションにおいても問題があった。以前から利用しているツールでは信頼性が不十分だっただけでなく、チームが保守しなければならないカスタムコードが大量に存在していた。さらに、現在稼働しているビルドや、チームが障害の原因を診断すべき状況をエンジニアが把握することは困難で、ログ出力やビルドに簡単にアクセスできる方法もなかった。

Cruise のインフラ・エンジニアリング担当ディレクターであるエイドリアン・マクニール氏は、エンジニアたちはツールの保守よりもソフトウェアの構築に多くの時間を費やすべきだし、GitHubが提供するセキュリティ機能ももっと活用すべきだと考えていた。

容易にCI環境を構築できるようになり、満足の行く品質テストを実現

同氏はすぐに、Cruise のエンジニアチームに最適なツールとして、GitHub EnterpriseとCircleCI Enterprise を選んだ。これら2 つのソリューションがシームレスに統合されていたことが理由のひとつであるが、それ以外にも、GitHub Enterpriseというオンプレミス製品を使うことでコードのアクセスが自社ファイアウォール内だけで行われる、よりセキュアな開発環境を構築できることも大きな理由である。「私たちのコードは、いわば秘伝のソースです。そのコードが、私たちが完全にコントロールできる自社サーバーとネットワーク上で稼働していることがわかっているというのは、大きな安心感を得られます」と同氏は話す。

また、CircleCI Enterprise を導入することで非常に複雑なビルドとテストを実行するための柔軟性とパフォーマンスを実現した。同氏は次のように語る。「ご想像どおり、自動運転技術の開発は非常に複雑です。当社の自動車用ソフトウェアをシミュレートするには、パワフルなマシンを使う必要があります。CircleCIとAWS GPUインスタンスを大量に使用することで、以前よりはるかに多くのテストとシミュレーションを実行できるようになりました」

また、Cruise にとってCircleCI を導入した最大の利点は、品質や安全性を損なうことなく、エンジニアチームがより迅速に作業を進められるようになったことだ。Cruiseでは、コードのどの部分でも、マスターにマージする前に、エンジニアが乗った自動車で路上テストを行う。CircleCIによって以前よりはるかに多くのシミュレーションを実行できるようになり、路上テストへの自信も高まった。同氏は、テストやシミュレーションを複数のコンテナに簡単に分割できることを、非常に高く評価している。

「私達が重要視しているのは、開発したコードを実際に路上テストすることです。Cruiseでは、すべてのコードをエンジニアが乗車した状態で路上テストしてから、マスターにマージしています。CircleCIを導入することで路上テストに出す前に多くのテストを実行できるようになったため、路上テストの前からコードの品質に自信を持てるようになりました」

CircleCIチームによるサポートも、Cruiseが 高く評価している点の1つである。同氏は次 のように語る。「CIは絶えず進化しています。私たちは常に開発環境を微調整し、カスタム のワークロードを実行しているので、CircleCI の担当者に『これを実現したいのですが、何 かアドバイスはありますか?』と質問できるの は本当に重要です」

コラボレーションが促進され、誰もがすぐに高い生産性を発揮

同氏はまた、GitHub EnterpriseとCircleCIを併用することで、エンジニア同士のコラボレーションも増えたと感じている。「GitHubEnterpriseとCircleCI の両方を使うことによる副次的な影響として、チーム同士や複数のプロジェクトをまたいだコラボレーションが増えました。エンジニアは、プロジェクトやライブラリーのリポジトリを容易に作成し、インフラのサポートなしでCIをセットアップできます。セットアップした内容すべてがセキュアな社内ネットワーク内にあるとわかっているため、エンジニアが創造性と柔軟性を存分に発揮できるのです」

新人研修も短縮化された。GitHubとCircleCIはシームレスに連携するため、新たに入社した社員が初日から生産性の高い仕事をすることができる。

「新規採用した開発者がツールと格闘したり、リポジトリへのソースコードのコミット方法を学ぶコースを受講したりすることに、必要以上に時間をかけなければいけない環境は、生産性が高いとは言えません。これは、ほとんどの大企業が直面する問題です。社員が不慣れなツールを使用しているから、トレーニングや新人研修に多額の投資をする必要があるのです」

「CircleCIを使うことでツールを機能させようと時間を浪費しなくても、手間も時間もかけずに簡単に構築できます。これこそ、私たちが独自に構築する代わりにCircleCIを選んだ大きな理由です」と同氏は振り返る。「もちろん、多くの労力を費やせば、私たちの要件を満たす独自のものを構築できるでしょう。しかし、それには数か月に及ぶ作業と多くのエンジニアが必要です。問題を抱えている状況でそのようなことをするのは意味がありません。エンジニアの時間は、自社のビジネス上の問題解決に使うからこそ価値があるのです」

「CircleCIとGitHubをツールとして使うことでもたらされる開発期間の短縮は、競争上の優位性になると考えています」

  • 業種

    製造

  • 企業規模

    100+

GitHubを企業で活用する

柔軟なホスティングオプションやビッグデータに裏付けされたセキュリティが、企業におけるソフトウェア開発をサポートします。

What will your story be?

Start collaborating with your team on GitHub

Free

GitHub
のコア機能

$ 0 /月

Team

Advanced collaboration for individuals and organizations

$ 4 ユーザー/月

Enterprise

企業ニーズを満たすセキュリティ、コンプライアンス、柔軟なデプロイメント

$ 21 ユーザー/月

Want to use GitHub on your own? Check out our plans for individuals