在VSTS中配置发布定义以将网站部署到Azure时,是否可以在发布时计算网站名称?

时间:2016-06-17 20:51:45

标签: azure tfs azure-web-sites azure-devops tfsbuild

我正在使用“Azure Web App部署”任务在VSTS中自动部署网站到Azure。我已经在过去设置了部署,其中Web App Name对于特定目标环境是静态的,但是对于这个特定项目,我希望从构建时确定的属性(部分)计算Web App Name :分支名称,通过$(RELEASE_ARTIFACTS_CI_BUILD_SOURCEBRANCHNAME)变量。但是,“Azure Web App部署”任务的Web App Name属性似乎不会扩展服务器变量 - 它似乎期望并强制执行静态值。

我也尝试在其他参数下设置-Name开关,但这似乎被我必须指定的Web App名称覆盖。

我的问题:是否可以在部署时根据服务器变量计算Web应用程序名称,如果是这样,这是如何完成的?

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:1)

" RELEASE_ARTIFACTS_CI_BUILD_SOURCEBRANCHNAME"不是Pre-defined variable。所以你不能直接在任务中使用它。

如果要在Azure Web应用程序部署任务中使用其值,请执行以下步骤:

  1. 在您的发布定义中添加变量,例如:" webappname"。

  2. 添加" PowerShell脚本"之前的任务" Azure部署"任务,设置"类型"到"内联脚本"并输入" Write-Host" ## vso [task.setvariable variable = webappname;] $ env:RELEASE_ARTIFACTS_LinkedBuildName_SOURCEBRANCHNAME""在脚本内容中。此任务将构建的源分支名称分配给" webappname"变量。 enter image description here

  3. 现在你可以使用变量" webappname"在Azure部署任务中。输入" $(webappname)" in" Web App Name"任务。 enter image description here