出す出すといいつつ、ずうっと出なかったVisual Studio Onlineの承認フローのWebインターフェース版がひっそりと公開され始めたようです。まだ公式ブログも出ていないので、おそらくconnect();で正式告知なのでしょう。
簡単に触ってみたので、ご紹介。
ステップ バイ ステップ
RELEASEタブが追加されていると思います。+をクリックするとテンプレート画面が表示されます。
今のところクラウドサービスとWeb Appsと空っぽのテンプレートのみ公開されています。そのうち増えていくんでしょう。ビルドエージェントタスクは恐ろしい勢いで変わっているので、それに倣って増えていくんでしょうか。
Web Appの承認フローを追加してみます。基本的にビルドとあまり変わらないので、特に詳細な解説はしません。
黄色のマークのところにあるLink a build artifactsをクリックするとこの承認フローを実行するイベントを指定することができます。通常はbuildを指定すればいいでしょう。
ほかにもJenkinsや外部ビルドエージェントといったイベントを指定することができます。
こんな風にArtifactsに登録されます。
初期状態では自動的に承認フローが実行されます。承認ワークフローを設定しましょう。default environmentの...をクリックすると、メニューが表示されます。
assign approversをクリックすると承認者の設定画面が表示されます。
ここでは私の別のアカウントを指定していますが、グループを指定することもできます。
同様に同じメニューにあるAgent Optionをクリックすると、エージェントのオプションを指定します。これはビルドエージェントが指定バージョン以上であるかどうかという条件判定に使用します。新ビルドと同じですね。
ビルドをリンクしたので、リンクしたビルドをキューに入れると、自動的にリリースワークフローが実行されます。
こんな感じで開始中であることが分かります。
概要を表示すると、こんな風にどのビルド、どのリリースが動いているかということが分かります。
承認者を指定したので、ワークフローが開始されるタイミングで停止しています。
承認者のところにはこんなメールが送られてきます。メール中のリンクをクリックするとVS Onlineのポータルが表示され、承認画面になります。
上の黄色背景のところをクリックすると承認のダイアログが表示されます。
承認のコメントを記入して、Approveをクリックするとワークフローが通り、リリース作業が開始されます。
…しかし、ビルドうまくなかったようで、リリースに失敗してしまいました(^^;。
こんな風に概要のページが表示され、さらに責任者と承認者のところに同様のメールが通知されます。
作ってみての感想
この承認フローは好きなだけ?作ることができるようで、リリース単位でいろんなパターンを用意することができます。今はプロダクションのみという形で作っていますが、ステージング用のリリース、検証用のリリースは自動、ということも可能です。検証用だとこんなの作らずに、そのまま新ビルドからデプロイしてもいいと思いますが。
ただ、一つ言えるのはRELEASE機能を使うのであれば新ビルドからの直接デプロイは基本的に無効にしておかないと、大変なことになると思います。
まだ全部見ていませんが、ビルド定義、リリース機能のセキュリティの設計、ビルド定義の作成ユーザーへのルール徹底といったことをやっておかないと結構厳しいんじゃないかな。まだ最初のリリースなのであまりあれもないとか言いたくはないけど、この辺の整合性をとるための仕掛けがあると、よりよくなるんじゃないかと思いました。