1.21 jigowatts

Great Scott!

Azure App Service でWebアプリをスワップする!

概要

App ServiceのWeb Appでスロットを用意しておくことで、ステージングとプロダクションを簡単に入れ替えることができるようです。
それでは早速やってみます。

App Serviceプラン

まず、App Serviceプランをスロット対応されたものを用意します。FreeやBasicではできないようなので、Standardを選択しました。
f:id:sh_yoshida:20160528201457p:plain

デプロイメントスロットの作成

Standard以上のApp Serviceプランを適用した通常のWebアプリをデプロイします。
f:id:sh_yoshida:20160528201531p:plain

http://voyager02.azurewebsites.net
こちらをプロダクション環境とします。
f:id:sh_yoshida:20160528201549p:plain

ブレードで[設定]-[デプロイメント スロット]とたどり、[スロットの追加]で名前を決めて[OK]を押下します。今回は名前にStagingとつけました。デプロイメント スロットの識別名はWebアプリ名-スロット名となるようです。あとURLも。
f:id:sh_yoshida:20160528201600p:plain

次にStagingスロット用に一部修正を加えたWebアプリを展開します。
Visual Studioから[公開]で発行先を展開スロットのStagingを選択します。
f:id:sh_yoshida:20160528201617p:plain

http://voyager02-staging.azurewebsites.net
日付を表示するよう変更した側をステージング環境とします。
f:id:sh_yoshida:20160528201646p:plain

スワップ

再度ブレードの[デプロイメント スロット]よりスワップを選択し、ソースと展開先を指定し[OK]を押下します。
f:id:sh_yoshida:20160528201710p:plain

しばらく待つと...

http://voyager02.azurewebsites.net
プロダクション環境で日付が表示され、
f:id:sh_yoshida:20160528201721p:plain

http://voyager02-staging.azurewebsites.net
ステージング環境とプロダクション環境が入れ替わりました!
f:id:sh_yoshida:20160528201733p:plain