【问题标题】:ADO Release IIS Web App Manage Task Physical Path as an expressionADO 发布 IIS Web App 管理任务物理路径作为表达式
【发布时间】:2020-12-09 04:58:38
【问题描述】:

在 ADO IIS Web App 管理任务中管理虚拟应用程序时,如何将物理路径指定为带有 release-n 等变量的表达式?

我们刚刚开始向 IIS 服务器发布 ADO。我们有 IIS Web App 管理和部署任务在工作,但只针对服务器上的静态物理路径。

我想将新版本存储在版本化目录中,并更新虚拟应用程序以指向正在部署的版本。

例如

  Default Web Site
       /card-poc     <-- web application stored outside of wwwroot
           /release-1
           /release-2
           ...
           /release-n   <-- IIS virtual application physical path is pointed to here

那么在 ADO Release IIS Web App Manage 任务中,如何将物理路径指定为带有 release-n 等变量的表达式?

我已尝试d:\IIS_VDs\CARD-poc\Release-$(rev:r)\ 获取版本名称,但出现错误

The given path's format is not supported.

预期的结果是创建目录,将虚拟应用程序更改为指向新目录,然后随后的 IIS Web App 部署任务将文件复制到新目录。目标是允许服务器操作员在不了解或访问 ADO、版本控制或除 IIS 服务器之外的任何东西的情况下将应用程序回滚到以前的版本。

【问题讨论】:

    标签: iis azure-devops continuous-deployment


    【解决方案1】:

    我测试了$(rev:r),得到了和你一样的错误。我认为问题在于获取$(rev:r) 变量的值。我尝试在powershell任务中Write-Host "$(rev:r)",但任务无法获取$(rev:r)的值。根据这个 ticket ,似乎 $(rev:r) 是一种特殊的变量格式,仅在编辑器的 Number 字段中有效

    作为解决方法,您可以尝试使用Release.ReleaseName 预定义变量。

    Release.ReleaseName :当前版本的名称。示例:Release-47

    【讨论】:

    • 看来你是对的!我从发布选项中的默认发布名称模式中得到了$(rev:r),所以我本来希望它可以正常工作,但是 Release.ReleaseName 或 ReleaseID 可以正常工作!非常感谢!
    猜你喜欢
    • 2021-02-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-27
    相关资源
    最近更新 更多