事例

株式会社 日立製作所 & GitHub

“アジャイル開発やDevSecOpsの開発基盤にGitHub Enterpriseを選択。GitHub ActionsでCI/CDパイプラインを構築し、GitHub Advanced Securityでアプリケーションセキュリティを強化。”

自ら課題を解決する開発基盤としてGitHub Enterpriseに注目

株式会社 日立製作所(以下、日立製作所)のサービス&プラットフォームビジネスユニット アプリケーションサービス事業部は、金融、公共、産業、社会など様々な業種の企業に対し、アプリケーションの開発・提供を通してビジネスの課題解決や価値の創生を進めている。そして同事業部の共通技術統括本部 APトランスフォーメーション推進部は、事業部内の開発部門やアプリケーション開発プロジェクト、及び社外の開発協力会社などに対して、アジャイルコーチング関連サービスを提供する組織だ。具体的には、セキュリティを強化した開発プロジェクトの支援や、DevOps(開発担当と運用担当が連携しながら開発を柔軟かつスピーディに実現する手法)、DevSecOps(セキュリティをソフトウェア開発ライフサイクルのフローに組み込みこむことで、より安全なソフトウェアを開発する手法)をユーザに提案するほか、共に開発プロセスを検討するなどのミッションを担っている。

共通技術統括本部 アプリケーショントランスフォーメーション推進部 主任技師 谷川 嘉伸氏は、「アジャイル開発は人とテクノロジー/ツールの両輪での展開が必要であり、私たちのチームではテクノロジーやツール面から開発部門やプロジェクトを支えています。そのため、エンタープライズ領域におけるチーム開発の効率的なコラボレーションの促進、並びにセキュリティ確保を実現するためのプラットフォームを必要としていました。単に構成管理や連携の仕組みを備えるだけでなく、開発者が自ら課題に取り組み、解決できる開発プラットフォームを検討していたところ、最も注目したのが『GitHub Enterprise』だったのです」と語る。

クラウド版とサーバ版を併用しプロジェクト要件によって使い分け

これまで日立製作所のアプリケーション開発現場では、サーバにインストールしたリモートリポジトリでソースコードのバージョンを集中管理するSubversionが広く活用されており、継続的インテグレーション(CI)支援ツールのJenkinsと連携して活用するケースが一般的だったという。そのような開発環境をGitHub Enterpriseに移行しようとした背景には主に3つのポイントがあったという。1つ目は、GitHubをベースとしたCI/CD(継続的デリバリー)パイプラインの導入によって、継続的な自動化と継続的な監視を連結した作業習慣の定着が期待できること。2つ目は、決められた納期や品質を明確化しやすいウォーターフォール型開発のみならず、決められた納期・品質が明確でないアジャイル型開発にも効力を発揮する開発コラボレーションプラットフォームであること。そして3つ目は、セキュリティ確保への機能拡張を毎年強化しており、エンタープライズ領域でのセキュアなアプリケーション開発に適した開発環境であること。

「GitHub Enterpriseは業界のスタンダードであり、世界的に知名度の高い開発プラットフォームです。基本的な構成管理機能が充実しており、ベースとなる開発フローや開発者同士のコラボレーションが促進されるほか、何よりも多くの開発者が慣れ親しんだプラットフォームであることが開発効率を高めてくれると期待しました」と谷川氏は述べる。

谷川氏のチームでは、クラウドで利用可能な「GitHub Enterprise Cloud」と、オンプレミスで管理できる「GitHub Enterprise Server」の両方を導入し、プロジェクトの状況によって使い分けられるようにしている。モダンな開発環境に慣れていない開発部隊や、コンプライアンス強化が必要なプロジェクトではGitHub Enterpriseをサーバで管理することで安心して運用できるという。

また、CI/CDに関しても、これまでのSubversionとJenkinsの組み合わせから、GitHub EnterpriseとGitHub Actionsに統一し、YAML形式で定義したワークフローを自動化している。谷川チームのメンバーで、共通技術統括本部 アプリケーショントランスフォーメーション推進部 技師 高橋 徹彦氏は、GitHub Actionsについて、「GitHub Enterpriseから直接コードをビルド、テスト、デプロイでき、コードレビューやブランチ管理なども可能になったので、専用ツールと連携していた手間が不要になりました」と説明する。SaaS形式なのでJenkinsのように別途サーバを立てる必要もなく、テンプレートも豊富に用意されているので便利だという。「以前、アジャイル開発においてはソースコード管理・バグ追跡システム・CIが“三種の神器”とされていましたが、GitHub EnterpriseとGitHub Actionsにはそれら全てが網羅されています。プロジェクトのエンジニアにとっては開発プロセスを考慮する必要がなく、ワンストップで活用できるので、導入もしやすいと好評です」と高橋氏は述べる。

従来のセキュリティ対策を見直しGitHub Advanced Securityでアプリケーションセキュリティを強化

そして今取り組んでいるのが、GitHub Advanced Securityの導入によるアプリケーションセキュリティの強化だ。GitHub Advanced Securityは、コードスキャニング、シークレットスキャニング、リポジトリ内の依存関係のレビューなどの機能を開発ワークフローに統合できるため、コードをコミットするタイミングで潜在的なセキュリティの脆弱性を自動的にスキャンするほか、ソースコード内のシークレット(キー、トークン、パスワードなど)や、Pull Requestをマージする前の依存関係に対する影響なども迅速に検出できる。

日立製作所にはセキュリティを専門に検討する部署があり、品質保証の一環としてセキュリティを担保するためのガイドラインを数多く作っている。開発現場ではそれらのガイドラインに沿って独自にセキュリティを対策しているのが一般的だが、後工程でセキュリティチェックするケースが多いという。谷川氏は、GitHub Advanced Securityのような前工程から脆弱性を確認しながら進める方が効率的だと話す。「例えば、開発後にアプリケーションをスキャニングして膨大に検出された脆弱性に対処するよりは、開発段階から大半の脆弱性を検知して、開発後にはごく小規模のリスクに対応する方が楽なのは確かです。昔ながらのやり方を変えて、新しい開発スタイルの中で脆弱性管理していくことのメリットを提案している段階です」

GitHub Enterprise、GitHub Actions、GitHub Advanced Securityの一連の開発環境について、高橋氏は、「私自身もユーザの一人として活用していますが、運用に全く問題はなく、導入した開発現場やプロジェクトでは期待通りの生産性を実現していると感じています」と高く評価する。

そして谷川氏は、「世の中のあらゆるアプリケーションがGitHub上で作られている現在、当社もGitHub Enterprise上での開発が常態化すれば格段に効率化し、それがCI/CDパイプラインとして視覚化されることで、高度な継続的自動化と継続的監視をアプリケーション開発に活かすことも可能になります。今後もエンジニアの負担を軽減し、価値あるアプリケーション開発に思考を集中してもらうためにも、GitHub Enterpriseの普及をさらに推進していくつもりです」と語る。

  • 業種

    電気機器

  • 企業規模

    10,000+

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