在管理application任务中的虚拟应用程序时,如何将物理路径指定为一个具有像release-n这样的变量的表达式?
我们刚刚开始使用到IIS服务器的ADO版本。我们让IIS管理和部署任务正常工作,但只运行到服务器上的静态物理路径。
我希望将新版本存储在版本目录中,并更新虚拟应用程序以指向正在部署的版本。
例如
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发布版IIS任务中,如何将物理路径指定为带有像release-n这样的变量的表达式
我已经尝试过d:\IIS_VDs\CARD-poc\Release-$(rev:r)\来获取发布名称,但是我得到了错误
The given path's format is not supported.
预期的结果是创建目录,将虚拟应用程序更改为指向新目录,然后后续的IIS Web App任务将文件复制到新的dir。其目标是允许服务器操作员将应用程序回滚到以前的版本,而不了解或访问ADO、版本控制或实际上除IIS服务器以外的任何东西。
发布于 2020-08-21 05:22:02
我测试了$(rev:r)并得到了与您相同的错误。我认为问题在于获取$(rev:r)变量的值。我尝试在powershell任务中使用Write-Host "$(rev:r)",但是任务不能获得$(rev:r)的值。根据这个票证,$(rev:r)似乎是一种特殊的变量格式,只在编辑器的Number字段中工作。

作为解决办法,您可以尝试使用Release.ReleaseName预定义变量。
Release.ReleaseName:当前版本的名称。示例:Release-47


https://stackoverflow.com/questions/63495198
复制相似问题