在 VSTS 中配置发布定义以将网站部署到 Azure 时,是否可以在发布时计算网站名称?
When configuring a Release Definition in VSTS to deploy a web site to Azure, can the Web Site Name be calculated at release time?
我正在使用 "Azure Web App Deployment" 任务将 VSTS 中的网站自动部署到 Azure。我在过去设置了部署,其中 Web 应用程序名称对于特定目标环境是静态的,但对于这个特定项目,我希望 Web 应用程序名称(部分)从 属性 计算得出在构建时确定:分支名称,通过 $(RELEASE_ARTIFACTS_CI_BUILD_SOURCEBRANCHNAME) 变量。但是,"Azure Web App Deployment" 任务的 Web App 名称 属性 似乎没有扩展服务器变量 - 它似乎期望并在此处强制执行静态值。
我也试过在附加参数下设置 -Name 开关,但这似乎被我必须指定的 Web 应用程序名称覆盖了。
我的问题:是否可以在部署时根据服务器变量计算 Web 应用程序名称?如果可以,这是如何完成的?
您可以尝试其他任务。这个也使用 WebDeploy 包,但允许覆盖 MSSDeploy 参数:
http://www.dotnetcatch.com/2016/04/20/msdeployallthethings-vststfs-extension-is-public/
"RELEASE_ARTIFACTS_CI_BUILD_SOURCEBRANCHNAME" 不是 Pre-defined variable。所以不能直接在任务中使用。
如果您想在 Azure Web 应用程序部署任务中使用它的值,请按照以下步骤操作:
在您的发布定义中添加一个变量,例如:"webappname".
在"Azure Deployment"任务之前添加一个"PowerShell Script"任务,将"Type"设置为"Inline Script"并输入"Write-Host "##vso[task.setvariable variable=webappname;]$env:RELEASE_ARTIFACTS_LinkedBuildName_SOURCEBRANCHNAME"" 在脚本内容中。此任务会将构建的源分支名称分配给 "webappname" 变量。
- 现在您可以在 Azure 部署任务中使用变量 "webappname"。在任务的 "Web App Name" 中输入“$(webappname)”。
我正在使用 "Azure Web App Deployment" 任务将 VSTS 中的网站自动部署到 Azure。我在过去设置了部署,其中 Web 应用程序名称对于特定目标环境是静态的,但对于这个特定项目,我希望 Web 应用程序名称(部分)从 属性 计算得出在构建时确定:分支名称,通过 $(RELEASE_ARTIFACTS_CI_BUILD_SOURCEBRANCHNAME) 变量。但是,"Azure Web App Deployment" 任务的 Web App 名称 属性 似乎没有扩展服务器变量 - 它似乎期望并在此处强制执行静态值。
我也试过在附加参数下设置 -Name 开关,但这似乎被我必须指定的 Web 应用程序名称覆盖了。
我的问题:是否可以在部署时根据服务器变量计算 Web 应用程序名称?如果可以,这是如何完成的?
您可以尝试其他任务。这个也使用 WebDeploy 包,但允许覆盖 MSSDeploy 参数:
http://www.dotnetcatch.com/2016/04/20/msdeployallthethings-vststfs-extension-is-public/
"RELEASE_ARTIFACTS_CI_BUILD_SOURCEBRANCHNAME" 不是 Pre-defined variable。所以不能直接在任务中使用。
如果您想在 Azure Web 应用程序部署任务中使用它的值,请按照以下步骤操作:
在您的发布定义中添加一个变量,例如:"webappname".
在"Azure Deployment"任务之前添加一个"PowerShell Script"任务,将"Type"设置为"Inline Script"并输入"Write-Host "##vso[task.setvariable variable=webappname;]$env:RELEASE_ARTIFACTS_LinkedBuildName_SOURCEBRANCHNAME"" 在脚本内容中。此任务会将构建的源分支名称分配给 "webappname" 变量。
- 现在您可以在 Azure 部署任务中使用变量 "webappname"。在任务的 "Web App Name" 中输入“$(webappname)”。