2016-03-22 29 views
1

我正在使用VSO連續部署到天藍色。使用TFS在天藍色中啓動自動交換

我有三個插槽:

  • 分期(用於自動化測試)
  • AutoSwap可以(如果該版本通過在升級的自動化測試,它部署到AutoSwap可以)
  • 生產(當AutoSwap可以部署,它將自動與生產交換)。

的問題是,我的部署使用FTP(我不能這樣做,否則,因爲它是一個Asp.net 1.0核心應用程序),所以當我部署到AutoSwap可以完成的,它不會被檢測爲實際部署,以便沒有自動交換與生產完成。

我的問題:是否有任何powershell命令,我可以從TFS任務調用啓動自動交換? (例如,告訴我一個部署已經完成,我可以在FTP上傳結束時調用)?

編輯 我發現和試過,但它根本什麼都不做(不失敗):

開關AzureWebsiteSlot -Name 「MyApp的」 -Slot1 「生產」 -Slot2 「AutoSwap可以」 - Force

+0

MS提供了一種部署Asp.NET核心應用程序的方法,您可以嘗試使用VSTS進行Web部署:https:// msdn.microsoft。com/en-us/library/vs/alm/build/azure/deploy-aspnet5 –

+0

我曾經用這種方式進行部署,但它對於RC2還沒有工作,並且使用FTP和PowerShell我有這種自由和知道的感覺到底發生在幕後的是什麼。 – yeska

回答

0

問題是,我使用這個工具通過FTP上傳文件:

https://marketplace.visualstudio.com/items?itemName=januskamphansen.ftpupload-task

在其代碼有這條線,應注意不要在接下來的任務中阻止天藍色的命令:

[System.Net.ServicePointManager] :: ServerC ertificateValidationCallback = {$ CurrentSession.ignoreCert}

現在一切都很好,我花了一個星期才找到它,我希望這個答案能爲別人節省時間。

0

嘗試使用Move-AzureDeployment,它在生產和分段中交換部署。

Parameter Set: Default 
Move-AzureDeployment [-ServiceName] <String> [ <CommonParameters>] 

更多細節可以參考鏈接從MSDN:Move-AzureDeployment

注:這僅適用於雲服務,而不是Web應用程序。 Web應用程序和雲服務之間的區別:Web App vs Cloud Service

更新

這可以通過從VSO蔚藍的PowerShell腳本加載網上引起不支持交換插槽。嘗試刪除Azure PowerShell的模塊,並導入一個不同的。

請參閱從瑞安P答案在這個MSDN鏈接:https://social.msdn.microsoft.com/Forums/windows/en-US/0f30b76b-7954-4558-a10d-6a2b6635765a/switchazurewebsiteslot-does-not-work-in-vso-online

+0

感謝您的回答,但我有一個網絡應用程序... – yeska

+0

這可能是由來自VSO的azure powershell腳本加載造成的,不支持swap-slot。請看我更新的答案。 –

+0

我試圖把它放在Switch-AzureWebsiteSlot之前,但它沒有幫助: 刪除模塊Azure 導入模塊「C:\ Program Files文件(x86)\ Microsoft SDKs \ Azure \ PowerShell \ ServiceManagement \ Azure \ Azure的.psd1" – yeska

相關問題