這一陣子 VSTS 在外觀上有不小的改變,連同相關的設定似乎也都有些不同的調整,但調整後卻無法正常發行 Web App,該怎麼來處理呢 ?
目前我們的團隊算是個很雲端的開發團隊,不管是開發和營運,幾乎都是在 Azure 上面去完成,而其中對我們在開發上,VSTS 算是很重要的一個工具,不管是程式版控,看板管理或者是發佈與測試,幾乎都是靠 VSTS 來完成。
前一陣子 VSTS 在 UI 和功能上做了一些調整,整體的畫面變得蠻有質感的,看起來也蠻賞心悅目的。但因為平常相關的 Build 設定完成之後,幾乎也都不大會有所調整,因此雖然感覺 VSTS 有改版,但使用起來也沒有甚麼樣的不同,因此也就沒有特別去注意了。
這幾天因為要把一些 Web App 移到不同的 Resource Group 去做整併,但因為現在 WebApp 在移動不同的 Resource Group 會有些限制,因此我們決定建立新的資源群組 ,並且在該資源群組下面將相關服務都重新建立,把程式都重新發佈到新的環境上,等新的環境完成後,確定無誤之後再將舊的資源群組與相關設定統一刪除,因此我們就需要在 VSTS 上做新的 Build 設定了。
在 VSTS 上面,我們跟之前一樣在建立一個新的 Build 設定時候,就很直覺的跟以往一樣選擇 Azure WebApp 的樣板
接下來再設定的時候,會發現 VSTS 跟以往有點不一樣,很貼心的把 Azure 訂閱和 App Server Name 直接放在一開始的畫面上,不像以往是放在 Azure App Service Deploy 的 Task 上,這樣你就可以在第一個畫面上完成主要的設定,除非有特別必要,那麼才需要進入到相關的 Task 下面去做設定,感覺使用起來更為方便了。
因此建立好 Build 設定之後,當然就發行試試看囉。但似乎狀況事與願違,在發布的時候居然會發生授權失敗的狀況。如果是其他步驟失敗了,或許還可以查一下那些設定有異常,但這個問題看起來就有點麻煩了,因為關於 WebApp Service 佈署,這個部份似乎我們也沒有甚麼可以設定的,因此反覆測試起來,包含以往可以正常發佈成功的,再重新建立一個也都是失敗,實在不知道該怎麼找下去。
後來經過我們單位的 Azure 管理員 Eiri 提醒,要是我們不要使用新的樣式的設定,回到以往 Build 的設定方式,也就是一開始所看到的 WebApp 相關設定,先不要在一開始的畫面上去設定,而是在 Azure App Service Deploy 的 Task 上面去做設定,是否有機會避開那個問題呢 ? 雖然覺得這個方式怪怪的,但原本的方式做不出來,那就換個方式來測試看看囉。
所以我們就再重新建立一組設定,此時一開始的畫面不做相關的設定,然後到了 Azure App Service Deploy 的 Task 上面,分別在 Azure 訂閱帳號 和 App 服務名稱旁邊的鏈結圖示上點選。
會出現是否要取消設定,這裡我們在這兩個部分都選擇 Unlink
這樣這兩個就都可以讓我們重新設定了,於是我們再重新設定我們所要發佈上去是到哪個 Azure 的訂閱服務 ,並且指定要發佈到哪個 WebApp 上面
設定完成之後,我們再重新排入佇列等候執行,這次就不會再跟之前一樣,會發生 401 的認證失敗的狀況。
寫到這裡,忽然感覺整個過程似乎是之前看得另外一本書「先別急著吃棉花糖」的另類翻版,只是這個應該是目前 VSTS 版本中的一個小的 Bug 吧,或許過一陣子這個問題解決了,大家設定就不用那麼麻煩了,提供給大家參考看看囉。