成功につながる継続的デリバリーの習慣は、チームが最高の結果を生み出せるように支援する 3 つのコアコンポーネントの上に成り立っています。

設定管理

継続的デリバリーを実践するには、開発チームがプロセスを確立し、アプリケーションのパフォーマンス、機能、ユーザーエクスペリエンスの整合性を保証する共通のツールセットに同意することが不可欠です。設定管理を行うと、ソースコードやデータベース、文書化、テストスクリプトやデプロイスクリプト、アプリケーションの設定情報など、CD プロセスのあらゆる部分のバージョンを管理できるようになります。開発者は、必要に応じて環境を再現し、その環境を再構築するために使用した依存関係ファイルをすべて追跡できます。情報源を 1 つだけに絞る、それも信頼できるものにすることで、円滑なデプロイパイプラインを構築するための確固たる基盤がもたらされます。

複数環境の管理の詳細はこちら >>

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

複雑なアプリケーションでは、シンプルで自己完結しているように見える変更が、実は、想定外の影響をもたらすことがあります。複数の開発者が相互に隔離された環境で複数のコードブランチに対して並行して作業を行うことは珍しくありません。このような場合、共通のマスターブランチに変更をマージすると、予期しない結果が生じて、何回も回帰テストやバグ修正をする必要が生じることもあります。継続的インテグレーション(CI)は、開発者が作成した更新プログラムを、定期的にマスターブランチに統合するために必要となる、継続的デリバリープロセスに欠かせないコンポーネントの 1 つです。CI では、統合の前と後に自動テストが実施され、バグが入り混んでいないことが検証されます。

CI 用の Heroku アドオンを見る >>

テストの自動化

従来、テストはコードの「開発完了」後に手動で行われていました。これは、アプリケーションやシステムが、変更により壊されないようにするためです。しかし、手動による回帰テストは時間とコストがかかり、人為的なミスを引き起こしやすいものです。さらに、QA チームはかなりの時間と手間をかけて、テストマニュアルを最新の情報に保たなければなりません。継続的デリバリーでは、多種多様なテストがプロセス全体を通じて行われます。単体テストのように自動化されているものもあれば、ユーザビリティテストや受入テストのように現在でも手作業で行われるテストもあります。目標は、すべてのテストをデリバリーライフサイクルの最初から CD プロセスに組み入れ、定型的作業はできるだけ自動化することです。これにより、開発者はアプリケーションのコーディングと改善に集中できるようになります。

テスト用の Heroku アドオンを見る >>