首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不能用表达式填充( TFS构建的)自定义变量

不能用表达式填充( TFS构建的)自定义变量
EN

Stack Overflow用户
提问于 2020-02-26 17:32:14
回答 2查看 307关注 0票数 0

在build (关于变量选项卡)中,我试图使用简单表达式$[not(false)]定义一个自定义变量($[not(false)])。但是当我在构建过程中打印变量时--不管使用什么表达式-- Build.Repository.Clean值总是false

奇怪的是,用类似于$(FullBuild) (其中FullBuild是另一个自定义变量)这样的东西来定义它很好。

我是不是遗漏了什么?

备注:

  • 使用TFS 2018

背景:

尝试根据自定义变量QuickBuild设置QuickBuild变量(用户在启动构建时可以设置该变量)。尝试指定$[not(variables.QuickBuild)] (以及其他相同表达式的变体) --没有运气。

下面是它现在的工作方式(但我宁愿使用QuickBuild而不是FullBuild --只是不知道如何否定变量):

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-03-04 21:28:56

表达式用于初始化自定义变量(在Variables选项卡上)时,不会对它们进行评估。也就是说,变量值最终是一个值等于表达式的string (例如,'$[not(<whatever>)]')。稍后,当这个变量被使用在期望boolean的上下文中时--它仍然没有被计算,而是得到铸型,任何非空的字符串都会产生true

另一方面,变量替换发生了--即值$(MyVar)MyVar值替换。

内置变量似乎在某种意义上是特殊的,如果您override它们--这个过程发生在开始时,它的值立即被结果值所取代。

注--这可能(或不可能)与有关。

Bottomline:您不能使用表达式覆盖内置变量的值。

票数 0
EN

Stack Overflow用户

发布于 2020-02-27 08:06:44

更新3:

如果它在队列时间内更改干净操作,则忽略它。对于您正在寻找的内容,您可以尝试以下格式:

Build.Repository.Clean=$[not(eq(variables.QuickBuild,'True'))]

  • 如果QuickBuild=TrueBuild.Repository.Clean=False
  • 如果QuickBuild=False,那么Build.Repository.Clean.Clean=True

例如,

我已经在,Clean=true中设置了clean选项

Build.Repository.Clean=$(FullBuild)

FullBuild=false

现在,当我对构建进行排队时,请尝试在队列时间更改FullBuild=false

您认为,Build.Repository.Clean应该更改为False,然后就不会执行干净操作。--但事实是,Build.Repository.Clean仍然是真的,并且执行了clean。

甚至在队列期间也不更新FullBuild=false的值,直接设置生成管道中的值FullBuild=false。这也不起作用。

相反,如果您在获取源步骤中设置了Clean=false。在队列构建期间,不管您在FullBuildBuild.Repostiory.Clean中输入了什么样的值。

在构建管道期间,它将不清洁。

结论:在排队时间内不能改变清洁操作。这与任何表达式都没有关联。无论您为Build.Repository.Clean设置了什么样的值。

更新2

再过一遍你的问题和所有的评论。似乎您真正的目标是在队列时分配干净的选项,这是基于另一个定制变量的。

因为您无法在队列时间更改Build.Repository.Clean。所以你想用这个解决办法。这不是支持。没有一种在队列时分配干净选项的方法。

您可能必须在构建管道中预定义此变量。

也请看一下这个问题:如何在排队时使用自托管代理清除生成

在您的场景中,您可以创建两个构建管道,作为一个丑陋的解决方案。一个用于增量构建( get源步骤中的禁用清洁选项,或使用变量Build.Repository.Clean = False),另一个则启用清洁选项。

希望这是清楚的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60419438

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档