作为kudu部署的一部分执行azure站点交换

作为kudu部署的一部分执行azure站点交换,azure,kudu,azure-cli,Azure,Kudu,Azure Cli,我希望构建我的部署,以便在部署结束时将新站点切换到生产环境中。我使用的是部署槽,所以命令azure site swap mysite应该执行im之后的操作 为此,我在kudu部署脚本中尝试了以下方法: echo Swapping into prod call :ExecuteCmd azure site swap mysite IF !ERRORLEVEL! NEQ 0 goto error 但似乎azure CLI没有安装在kudu中 “azure”未被识别为内部或外部命令,可操作 程序或批

我希望构建我的部署,以便在部署结束时将新站点切换到生产环境中。我使用的是部署槽,所以命令azure site swap mysite应该执行im之后的操作

为此,我在kudu部署脚本中尝试了以下方法:

echo Swapping into prod
call :ExecuteCmd azure site swap mysite
IF !ERRORLEVEL! NEQ 0 goto error
但似乎azure CLI没有安装在kudu中

“azure”未被识别为内部或外部命令,可操作 程序或批处理文件。换成prod


有没有一种方法可以在部署脚本中执行此操作?

您可以通过NPM将azure cli作为构建的一部分进行安装

例如


然而,这有点愚蠢,你必须登录到azure才能做到这一点。如果有一种方法可以重新使用部署的当前凭据来进行切换,那会好得多。如果有人发布这样的答案,我会接受。

我对部署脚本了解不多,但您是否尝试过Switch-AzureWebsiteSlot PowerShell cmdlet?@benv不幸的是,它也有同样的问题“术语“Switch-AzureWebsiteSlot”无法识别为cmdlet、函数、脚本文件的名称,或“可操作程序”作为部署的一部分切换站点的原因是什么?为什么不直接部署到给定的插槽?@brendangreen我正在部署到暂存运行ui测试套件,然后如果它将交换传递到prod中,但有几个原因需要作为部署的一部分进行交换,例如在切换到live之前进行应用程序预热
call :ExecuteCmd npm install azure-cli
call :ExecuteCmd azure login /*some deets*/
call :ExecuteCmd azure site swap mysite