進行状況の追跡を始めよう
Trailhead のホーム
Trailhead のホーム

継続的なインテグレーション、リリース、配信の詳細

学習の目的

この単元を完了すると、次のことができるようになります。

  • 継続的インテグレーション、リリース、配信を説明および比較する。
  • 継続的配信の利点をいくつか挙げる。

前提条件

このモジュールには、次が必要です。

  • 無料 Heroku アカウント
  • 無料 GitHub アカウント

「Heroku Enterprise の基礎」モジュールを受講していない場合、完了してから、このモジュールを開始することを強くお勧めします。

最新の開発用プラクティスを導入すると、チームは、市場の中でも非常に有用で洗練されたアプリケーションを構築およびリリースできるようになります。これらのプラクティスには、継続的インテグレーション、リリース、配信が含まれており、これらにより、リリースサイクルの短縮、自動化、ソースコードリポジトリへの直接の関連付けが可能となります。これらのプラクティスは、増分コード更新をすばやく安全に本番へと適用できるように設計されています。これらの手法が適切に利用されれば、アプリケーションライフサイクルの早い段階でバグや問題を見つけて、短期間で質の高い製品をリリースできるようになります。

継続的インテグレーション、継続的配信、継続的リリースについて、詳しく見ていきましょう。似たような言葉ですが、それぞれのプロセスの違いに注目します。

継続的インテグレーション

継続的インテグレーションにより、あらゆる開発者によるコミットのすべてのコード変更を包括的に統合して (継続)、製品は構築されます。次に、自動ビルドがそれぞれのチェックインを検証して、問題を早期に検出できるようにします。

複雑な製品では、自己完結型で単純に見える変更が、意図しない結果を招くことがあります。複数の開発者が、複数の分離したコードブランチに対して並行して作業する場合、共通のマスタブランチへの変更のマージが予期しない結果を生むことがあります。予期しない結果が発生すると、多くの場合、回帰テストやバグ修正を何度も行うことになります。継続的インテグレーション (CI) は、開発者が更新を定期的にマスタブランチに統合できるようにする、継続的配信プロセスのコンポーネントです。CI により、各変更のマージ前後に自動テストが実行されて、バグが発生していないことが検証されます。

継続的配信

継続的配信により、それぞれの変更を本番と似た環境に手動で適用し、コードをすばやく安全に本番へとリリースできます。各変更はステージング環境に自動的に配信されるため、適宜ボタンを操作して、アプリケーションを本番環境にリリースできます。

コードをステージング環境に適用した後のステップは、継続的インテグレーションと継続的配信とで異なります。CI でビルドに問題がなかったとしても、最終的な本番環境と一致するステージング環境に適用するまで、コードが本番用に準備完了であるかどうかはわかりません。

継続的リリース

継続的リリースは、継続的配信の次のステップです。継続的リリースにより、自動テストに合格したすべての変更は、自動的に本番環境にリリースされます。規制などの制約を受けない企業の多くは、継続的リリースを目標にすることが適しています。

すべての企業が継続的リリースを実装できるわけではありませんが、継続的配信は多くの企業で実装できます。継続的配信により、製品のリリース時、変更を通じて顧客に価値を届けているという自信が生まれ、準備ができたらいつでもボタン操作を実行できるという安心感が生まれます。