デジタル技術を活用したビジネスの変革や新たなビジネスを創出するデジタルビジネスが広がる中で、変化の激しいニーズに対応するためにシステムを素早く提供することが求められます。しかし、システム規模が大きくなると、役割の異なるチームのメンバーがコミュニケーションを取りながら開発を進める必要があります。開発者がコーディング、ビルド、テスト、レビューを進め、開発した成果物をステージング環境で検証し、正しく動作したものを本番リリースして、素早く安全に運用を開始する仕組みが必要です。
以下は、一般的なアプリケーション開発のライフサイクルを示しています。
このアプリケーション開発のライフサイクルを素早く回すためには、各種ツールを連携して一連の開発作業を自動化することが必要です。
アプリケーション開発のライフサイクルの各開発フェーズを自動化することを以下のように呼びます。
アプリケーションのソースコードを実行モジュールにビルドし、テストすることをインテグレーションと呼びます。これを自動化して、ソースコードに頻繁な修正が発生しても継続的に品質を確保することを継続的インテグレーションと呼びます。
CIにおいて、各種ツールの呼び出しを自動化するツールをCIパイプラインと呼びます。ビルドやテストだけでなく、コードの品質をチェックするソースコード静的解析ツールなどをCIパイプラインに追加することで品質をさらに高めることができます。CIの成果物をアーティファクト(Artifact)と呼びます。
本製品は、このアプリケーション開発のライフサイクルを素早く回すことが可能となる仕組みを提供します。 また、この仕組みはグローバルデファクトスタンダードとなっているオープンソースを組合せた形で提供され、各オープンソース間の連携設定を含めて自動で構築されます。
本製品は、以下の構成で提供されます。
各機能を以下のようにアプリケーション開発のライフサイクルの中で利用することで、アプリケーションの品質を確保しつつ、早期リリースを実現することができます。