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

Execute azure site swap as part of a kudu deploy

我想构建我的部署,以便在部署结束时将新站点交换到生产环境中。我正在使用部署槽,所以命令 azure site swap mysite 应该执行我在

之后的操作

为此,我在我的 kudu 部署脚本中尝试了这个,例如:

echo Swapping into prod
call :ExecuteCmd azure site swap mysite
IF !ERRORLEVEL! NEQ 0 goto error

但是 kudu 中似乎没有安装 azure CLI。

'azure' is not recognized as an internal or external command, operable program or batch file. Swapping into prod

有没有办法在我的部署脚本中执行此操作?

您可以通过 NPM 安装 azure-cli 作为构建的一部分。

例如,

call :ExecuteCmd npm install azure-cli
call :ExecuteCmd azure login /*some deets*/
call :ExecuteCmd azure site swap mysite

但是,您必须登录到 Azure 才能执行此操作,这有点愚蠢。如果有一种方法可以重新使用部署的当前凭据来进行切换,那就更好了。如果有人发布这样的答案,我会接受。