kkamegawa's weblog

Visual Studio,TFS,ALM,VSTS,DevOps関係のことについていろいろと書いていきます。Google Analyticsで解析を行っています

Visual Studio Team Services CI/CDアドベントカレンダー : 複数環境へのリリース(5日目)

はじめに

この記事はVisual Studio Team Services Advent Calendar 5日目の記事です。

qiita.com

VSTSのリリース機能では複数の環境が作成できます。環境とは、リリースする対象の単位です。

  • 検証、本番
  • 複数のリージョン
  • 複数のサーバーへの段階的な提供

3番目はWindows 10のInsider PreviewのようなFast, Slowといったように、一部の選考サーバーへ提供して、問題がなければ多くのサーバーへ提供する、というやり方です。こういうときに昨日紹介したリリースゲート機能が使えます。

複数環境の作成

f:id:kkamegawa:20171205044402p:plain

Environmentsの中にあるAddをクリックして、New Environmentをクリックします。

f:id:kkamegawa:20171205044403p:plain

新規追加するEnvironmentの名前をわかりやすいものにします。今回は検証環境を追加するということで、Stagingとします。

f:id:kkamegawa:20171205044404p:plain

Moveをクリックすると、同じ階層で上か下かの選択ができます。これはあくまでも上下だけで、リリースの前後の順番指定ではありません。

f:id:kkamegawa:20171205044405p:plain

Productionの後に挿入されたStagingをProductionの前に移動するには、Triggerを変更します。EnvironmentのProductionのTriggersからAfter Environmentを選択し、Stagingをチェックします。

f:id:kkamegawa:20171205044415p:plain

こんな風に入れ替わりました。

並列インストール

複数の環境へ並列でインストールしたいという要件を満たす場合を考えます。

f:id:kkamegawa:20171205044407p:plain

USのリージョンに展開するためのEnvironmentを追加します。どのEnvironment, Artifactsにも接続されていないEnvironmentはManual onlyのリリース状態です。

f:id:kkamegawa:20171205044406p:plain

同様にTriggersを選択して、After EnvironmentでStagingを選択します。

f:id:kkamegawa:20171205044409p:plain

このように視覚的に並列にリリースされる状態になっていることがわかります。

リリースの実行

f:id:kkamegawa:20171205044410p:plain

リリースを実行してみましょう。ReleaseからCreate Releaseをクリックすると、リリース概要が表示されます。

f:id:kkamegawa:20171205044411p:plain

この設定は、通常自動リリースになっている環境を明示的に手動に変更したいEnvironmentに対してチェックします。Createを実行すると、リリースが開始されます。

f:id:kkamegawa:20171205044412p:plain

最初にStagingへのリリースが開始されます。

f:id:kkamegawa:20171205044413p:plain

Stagingが終わったら、Productionの二つのEnvironmentへのリリースが開始されます。エージェントを二つ呼び出して並列展開が実行されます。

f:id:kkamegawa:20171205044414p:plain

このようにリリースが成功したレポートが表示されます。

まとめ

リリース機能で並列、直列いろんな形のリリースができるようになります。昨日紹介したリリースゲート機能と組み合わせると順次展開できるので大変便利です。