デプロイメントパイプライン
デプロイ可能なソフトウェアユニットの単位で評価する必要がある 2 つの方法
システムに含まれるすべてのものを評価のスコープ、デプロイメントパイプラインのスコープに収める
システムを独立してデプロイ可能なソフトウェアユニットに分割する
参考文献
ソフトウェアをバージョン管理から取り出して、ユーザーの手に渡るまでのプロセスを自働化して表現したもの
あらゆるプロジェクトで共通のサブセットは次のとおり
自動受け入れテストステージ : システムが動くことを機能および非機能レベルで検証
ユーザーのニーズと顧客の仕様を満たす振る舞いをすることを確認する
手動テストステージ : システムが使いやすいか、要件を満たしているか検証し、自動テストで捉えられない欠陥を検出し、ユーザーに価値を提供することを確認する
通常、探索的テスト環境やインテグレーション環境、ユーザー受け入れテスト環境が含まれる
リリースステージ : システムをユーザーにデリバリーする
プラクティス
バイナリをビルドするのは 1 回だけにする (ソースコードを何度もビルドするようなビルドシステムが多い)
アプリケーションのデプロイには、アプリケーションが稼働していることを確かめるスモークテストを実施すべし 本番環境のコピーにデプロイする
各変更はすぐにパイプライン全体を通るように
パイプラインのどのステージでも失敗したらラインを止めるべし