ADO Release IIS Web App Manage Task Physical Path 作为表达式
ADO Release IIS Web App Manage Task Physical Path as an expression
在 ADO IIS Web 应用程序管理任务中管理虚拟应用程序时,如何将物理路径指定为带有变量 release-n
的表达式?
我们刚刚开始将 ADO 发布到 IIS 服务器。我们有 IIS Web 应用程序管理和部署任务在工作,但仅限于服务器上的静态物理路径。
我想将新版本存储在版本目录中,并更新虚拟应用程序以指向正在部署的版本。
例如
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 应用程序部署任务会将文件复制到新目录。目标是允许服务器操作员将应用程序回滚到以前的版本,而无需了解或访问 ADO、版本控制或 IIS 服务器以外的任何其他内容。
我测试了$(rev:r)
,得到了和你一样的错误。我认为问题在于获取 $(rev:r)
变量的值。我在powershell任务中尝试Write-Host "$(rev:r)"
,但是任务无法获取$(rev:r)
的值。根据这个 ,似乎 $(rev:r)
是一种特殊的变量格式,仅在编辑器的数字字段中有效。
作为解决方法,您可以尝试使用 Release.ReleaseName
预定义变量。
Release.ReleaseName :当前版本的名称。示例:Release-47
在 ADO IIS Web 应用程序管理任务中管理虚拟应用程序时,如何将物理路径指定为带有变量 release-n
的表达式?
我们刚刚开始将 ADO 发布到 IIS 服务器。我们有 IIS Web 应用程序管理和部署任务在工作,但仅限于服务器上的静态物理路径。
我想将新版本存储在版本目录中,并更新虚拟应用程序以指向正在部署的版本。
例如
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 应用程序部署任务会将文件复制到新目录。目标是允许服务器操作员将应用程序回滚到以前的版本,而无需了解或访问 ADO、版本控制或 IIS 服务器以外的任何其他内容。
我测试了$(rev:r)
,得到了和你一样的错误。我认为问题在于获取 $(rev:r)
变量的值。我在powershell任务中尝试Write-Host "$(rev:r)"
,但是任务无法获取$(rev:r)
的值。根据这个 $(rev:r)
是一种特殊的变量格式,仅在编辑器的数字字段中有效。
作为解决方法,您可以尝试使用 Release.ReleaseName
预定义变量。
Release.ReleaseName :当前版本的名称。示例:Release-47