はじめに
この記事はVisual Studio Team Services Advent Calendar 5日目の記事です。
VSTSのリリース機能では複数の環境が作成できます。環境とは、リリースする対象の単位です。
- 検証、本番
- 複数のリージョン
- 複数のサーバーへの段階的な提供
3番目はWindows 10のInsider PreviewのようなFast, Slowといったように、一部の選考サーバーへ提供して、問題がなければ多くのサーバーへ提供する、というやり方です。こういうときに昨日紹介したリリースゲート機能が使えます。
複数環境の作成
Environmentsの中にあるAddをクリックして、New Environmentをクリックします。
新規追加するEnvironmentの名前をわかりやすいものにします。今回は検証環境を追加するということで、Stagingとします。
Moveをクリックすると、同じ階層で上か下かの選択ができます。これはあくまでも上下だけで、リリースの前後の順番指定ではありません。
Productionの後に挿入されたStagingをProductionの前に移動するには、Triggerを変更します。EnvironmentのProductionのTriggersからAfter Environmentを選択し、Stagingをチェックします。
こんな風に入れ替わりました。
並列インストール
複数の環境へ並列でインストールしたいという要件を満たす場合を考えます。
USのリージョンに展開するためのEnvironmentを追加します。どのEnvironment, Artifactsにも接続されていないEnvironmentはManual onlyのリリース状態です。
同様にTriggersを選択して、After EnvironmentでStagingを選択します。
このように視覚的に並列にリリースされる状態になっていることがわかります。
リリースの実行
リリースを実行してみましょう。ReleaseからCreate Releaseをクリックすると、リリース概要が表示されます。
この設定は、通常自動リリースになっている環境を明示的に手動に変更したいEnvironmentに対してチェックします。Createを実行すると、リリースが開始されます。
最初にStagingへのリリースが開始されます。
Stagingが終わったら、Productionの二つのEnvironmentへのリリースが開始されます。エージェントを二つ呼び出して並列展開が実行されます。
このようにリリースが成功したレポートが表示されます。
まとめ
リリース機能で並列、直列いろんな形のリリースができるようになります。昨日紹介したリリースゲート機能と組み合わせると順次展開できるので大変便利です。