2011-12-08 68 views
9

我目前在Microsoft Azure中實施了一個Web應用程序。我關心的是如何與ACS一起使用臨時插槽。在Azure Staging插槽中使用ACS

我想推送我的應用程序到臨時插槽,驗證它正在工作,然後執行VIP交換到生產。

該方法非常簡單,除了ACS的配置。由於臨時插槽在部署過程中會獲得一個隨機URL,因此需要在之後完成ACS配置。 ACS中的WebRole的web.config和依賴方應用程序必須使用新的分段插槽URL進行配置。

維托裏奧Bertocchi描述了他如何blog post不必重新部署更新的web.config和我想的是,ACS可以與部署到升級後的腳本進行更新。

這種方法看起來相當複雜和脆弱;我正在爲我的部署過程尋找一個簡單而穩固的解決方案。有什麼我錯過了嗎?

由於ACS配置在生產槽中非常簡單直接,我一直在考慮跳過應用程序在臨時槽中的測試,只用它來執行VIP交換到生產(應用程序將是在自己的「質量保證」託管服務中進行測試)。

您對這種方法有什麼看法? Azure中的託管服務可以有任何區別嗎?

回答

0

也許您的應用程序可能會在重定向到ACS時以編程方式設置返回URL。這將在用戶認證之後將其重定向到分段插槽或生產插槽。

這個問題向您介紹如何設置的境界,但返回URL只是另一個參數:WIF cross-domain on one IIS site, dynamically setting of realm

0

我解決了這個通過創建一個名爲「測試」一個新的雲服務。所以,當我將應用程序推送到臨時插槽時,我還將另一個實例(使用不同的web.config)推送到「測試」服務的生產插槽。如果「測試」應用程序正常工作,那麼我刪除測試應用程序並交換我的生產臨時插槽。

這不是理想的解決方案,但它可能會解決您的問題。

0

我只是使用主機文件條目來測試登臺實例。例如,讓我們說你的服務託管在myservice.cloudapp.net。你的staging插槽通常會得到像[guid] .cloudapp.net這樣的URL,但它也會得到一個公共VIP(你可以從服務的儀表板或者通過執行nslookup [guid] .cloudapp.net獲取這個URL)。您可以將主機文件條目添加爲「[Public VIP] myservice.cloudapp.net」。一旦你這樣做了,你可以通過使用myservice.cloudapp.net和ACS配置來改變你的登臺實例。