我将TFS 2018 Update 2用作CI / CD服务器。 而且我将Replace Token任务用作令牌替换解决方案。
当我的web.config文件中有令牌A时, 根据我的tfs版本定义,它将部署到2个VM,VM B和VM C。
如果我需要VM B上的令牌A作为值V1,并且需要VM C上的令牌A作为值V2。
如何通过“替换令牌”任务执行此操作? 我的想法是使用Powershell任务在替换令牌任务之前更新变量A。这可能吗?
请提供或分享您的想法,这对我有很大帮助。
谢谢。
答案 0 :(得分:0)
选项1
是的,您可以使用此Powershell来设置变量
Write-Host "##vso[task.setvariable variable=sauce]crushed tomatoes"
Write-Host "##vso[task.setvariable variable=secret.Sauce;issecret=true]crushed tomatoes with garlic"
请参见here。
但是,使用Jesse的Variable Toolbox,您会发现更方便。
选项2
我在考虑另一种技术:将每台机器的值包含在包含机器名称的变量中,并让VSTS在执行任务之前为您解析它。例子
在文件中:
....#(tok)#....
变量:
tok_vma = 'v1'
tok_vmb = 'v2'
tok = $(tok_$(Agent.MachineName))
嵌套变量受支持,如您所见here。 HTH