我正在使用VSO继续部署到azure。
我有三个位置:
问题是我的部署是使用FTP完成的(我不能这样做因为它是Asp.net Core 1.0应用程序),所以当我部署到AutoSwap时,它没有被检测为实际部署所以没有自动交换完成了生产。
我的问题:是否有任何powershell命令可以从TFS任务调用以启动自动交换? (例如,告诉我已经完成了部署,我可以在FTP上传结束时调用)?
修改 我已经找到并尝试了这个,但它什么都没做(它没有失败):
Switch-AzureWebsiteSlot -Name“MyApp”-Slot1“production”-Slot2“AutoSwap”-Force
答案 0 :(得分:0)
尝试使用Move-AzureDeployment,它可以在生产和暂存中交换部署。
Parameter Set: Default
Move-AzureDeployment [-ServiceName] <String> [ <CommonParameters>]
有关详细信息,请参阅MSDN中的链接:Move-AzureDeployment
注意:这仅适用于云服务,而不适用于网络应用。 Web APP和云服务之间的区别:Web App vs Cloud Service
<强>更新强>
这可能是由来自VSO online的azure powershell脚本加载引起的,不支持swap-slot。尝试删除Azure PowerShell模块,然后导入另一个模块。
在此MSDN链接中查看 Ryan P 的答案:https://social.msdn.microsoft.com/Forums/windows/en-US/0f30b76b-7954-4558-a10d-6a2b6635765a/switchazurewebsiteslot-does-not-work-in-vso-online
答案 1 :(得分:0)
问题是我使用此实用程序通过FTP上传文件:
https://marketplace.visualstudio.com/items?itemName=januskamphansen.ftpupload-task
在它的代码中有这一行应该被评论为不阻止其后任务中的azure命令:
[System.Net.ServicePointManager] :: ServerCertificateValidationCallback = {$ CurrentSession.ignoreCert}
现在一切都很好,我花了一个星期才找到它,我希望这个答案可以节省时间给某人。