我正在使用“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应用程序名称,如果是这样,这是如何完成的?
答案 0 :(得分:1)
您可以尝试其他任务。这个也使用WebDeploy包,但允许覆盖MSSDeploy参数:
http://www.dotnetcatch.com/2016/04/20/msdeployallthethings-vststfs-extension-is-public/
答案 1 :(得分:1)
" RELEASE_ARTIFACTS_CI_BUILD_SOURCEBRANCHNAME"不是Pre-defined variable。所以你不能直接在任务中使用它。
如果要在Azure Web应用程序部署任务中使用其值,请执行以下步骤:
在您的发布定义中添加变量,例如:" webappname"。
添加" PowerShell脚本"之前的任务" Azure部署"任务,设置"类型"到"内联脚本"并输入" Write-Host" ## vso [task.setvariable variable = webappname;] $ env:RELEASE_ARTIFACTS_LinkedBuildName_SOURCEBRANCHNAME""在脚本内容中。此任务将构建的源分支名称分配给" webappname"变量。