Azure DevOps 在发布管道中根据环境替换令牌。

6
我正在使用“替换标记扩展”https://marketplace.visualstudio.com/items?itemName=qetza.replacetokens来替换 **/*.config 文件中的变量。
我们的构建流水线创建一个需要部署到所有环境的工件。
我们的发布流水线中有2个环境(DEV,QA)。
每个环境都配置了一组变量。

enter image description here

我已经将替换令牌任务添加到我们的发布流水线中。

enter image description here

我的配置文件看起来像这样

enter image description here

这些令牌没有被替换,我是Azure DevOps的新手,我有什么遗漏吗?
1个回答

8

发布活动在发布代理上运行。应用程序部署到应用服务后,您在运行令牌替换,因此令牌替换未被部署。

这是一个问题。

另一个问题是Web Deploy软件包是zip归档文件,因此令牌替换不会影响zip文件中包含的文件。不应将令牌替换与Web Deploy一起使用。您应该使用Web Deploy转换(parameters.xmlSetParameters.xml),这些转换是您正在使用的Web Deploy任务所支持的。 parameters.xml允许您定义用于定位要转换的元素的xpath表达式,而setparameters.xml文件包含要在转换中使用的值。


这适用于Windows应用程序服务,但不适用于Linux。对于Linux应用程序服务,在Web部署任务中甚至看不到“文件转换和变量替换选项”部分。有什么想法为什么会这样,或者我如何在Linux上替换令牌?这似乎非常基础... - thatWiseGuy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接