0

我发现通过 powershell 交换 azure 插槽似乎是不现实的(我想它给出了一个我看不到的错误响应,或者默默地失败但声称成功)。如脚本所示,正在交换的插槽位于两个非生产插槽之间。大约 10% 的时间它似乎成功了。我不知道它为什么成功或失败,希望有人可以阐明我在这里做错了什么。

我有一个在 Teamcity 上的构建作业上运行的脚本,脚本如下:

param ([string]$publishFilePath = "%system.teamcity.build.checkoutDir%\3. 
deployment\Fu.publishsettings")

Import-AzurePublishSettingsFile $publishFilePath;
Select-AzureSubscription "Visual Studio Professional with MSDN";
Set-AzureSubscription -SubscriptionName "Visual Studio Professional with MSDN";

Switch-AzureWebsiteSlot -Name FuWebsite -Slot1 Build-Automation -Slot2 Staging -Force -Verbose
Switch-AzureWebsiteSlot -Name FuServices -Slot1 Build-Automation -Slot2 Staging -Force -Verbose

我得到的唯一日志是:

[10:20:12][Step 5/5] VERBOSE: Performing the operation "Swapping website 
production slot ..." on 
[10:20:12][Step 5/5] target "FuWebsite".
[10:21:16][Step 5/5] VERBOSE: Performing the operation "Swapping website production slot ..." on 
[10:21:16][Step 5/5] target "FuMeServices".
[10:22:19][Step 5/5] 
[10:22:19][Step 5/5] 
[10:22:19][Step 5/5] Process exited with code 0
4

1 回答 1

1

大约 10% 的时间它似乎成功了。我不确定它为什么成功或失败

如果你不确定它是成功还是失败。我建议您使用 -Debug 模式测试以下代码。

Switch-AzureWebsiteSlot -Name FuWebsite -Slot1 Build-Automation -Slot2 Staging -Force -Verbose -Debug

这是我得到的结果: 在此处输入图像描述

详细信息将帮助您找到解决方案。此外,如果您执行交换命令,但站点不会更改。请尝试清理 IE 会话和 cookie,然后重试。或者使用 KUDU 来查看原始文件是否被更改。

于 2016-09-19T03:35:44.043 回答