VSTSでCDを行う時に承認フローを挟見たい時があると思います。デプロイ作業やスワップ作業は自動ではなく確認してから実施したいということも多々あるでしょう。
VSTSでは承認フローの追加とメールによる通知を行うことができるのでその設定方法について調査した結果を備忘として残します。
※この記事の情報は2018年5月27日時点の情報となります。
承認フローの種類
主に承認フローを行うためには二つの方法があります。
pre-deployment approversによる承認
これはEviroment単位で承認を行うフローです。Eviroment単位で承認を行えるので一連の作業の開始時に承認する方法としてお勧めです。
Manual Intervention(手動介入)による承認
プロセスのタスク間に挟んでタスクの実行に承認フローを挟む方法です。一連のプロセスの中でタスク間の承認を行う時にお勧めです。
pre-deployment approversの設定
Enviromentの接続部分で承認を行うのでEnviroment単位での設定になります。
今回はDeployとSwapをタスク別に処理を作ったのでEnviromentの設定で承認設定を行います。
Triggerを選択して設定していきましょう。
Triggerの詳細設定画面が出たらAfter Enviromentを選択して詳細を設定し行きます。種類が3種類ありますがEnviromentをつなげている場合はEnviromentで処理した方がよいです。
After ReleaseやManualOnlyはEnviromentが単独になったり分岐したりするので設定方法が変わっていきます。
Agter Enviromentをの詳細設定をしていきましょう。基本的には承認者とタイムアウト設定をしていきます。
承認者を設定することで承認者にメールが飛ぶようになります。もちろん複数人設定することもできます。
タイムアウト設定を行うと承認までのタイムアウトが設定できます。承認をしないままでいたときに時間が来ると強制的にキャンセルになります。
これでEnviromentによる承認設定は完了です。次にタスクによる承認設定について記載します。
Manual Interventionの設定
タスクで承認設定を行うにはManual Interventionの設定を行います。
ここで必要なのは「AgentLess Phase」です。まずは「AgentLess Phase」を追加して設定をしていきます。
AgentLess Phaseを追加してManual Interventionを追加します。
Manual Interventionで承認者とタイムアウトを設定します。後は後続で実施したいタスクを追加して設定しておきます。
これでタスクでの承認設定は完了です。知ってしまうと結構簡単に設定できます。
承認方法
最後の承認方法について記載します。
タスクが実行されて承認待ち状態になると図のようにIN PROGRESS状態で待機となります。
この状態でタイムアウトで設定した時間が経過すると強制的にキャンセルになります。
それでは承認を行いタスクを継続してみましょう。メールが飛んできているはずなのでメールからView manual interventionを選択して遷移します。
遷移するとResume or Rejectが表示されるので継続するならResume、拒否するならRejectを選択しましょう。
継続にせよ拒否するせよ理由を記載できるのでヒストリーに残したい時は利用しましょう。
これで承認を行える状態になるので日々のCI/CDで承認を挟むことが可能となりました。知ってしまうと案外手順は簡単なので是非試していただきたいと思います。
コメント