生成步骤上的简单自定义条件未应用于TFS
使用TFS 2018 update 3,定义了一个步骤,该步骤仅在计划的构建上执行。自定义条件定义为:生成步骤上的简单自定义条件未应用于TFS,tfs,azure-devops,Tfs,Azure Devops,使用TFS 2018 update 3,定义了一个步骤,该步骤仅在计划的构建上执行。自定义条件定义为: eq(variables['Build.Reason'], 'Schedule') 生成已排队,尽管变量build.Reason='Manual'。执行步骤后,条件更改为: and(succeeded(), eq(variables['Build.Reason'], 'Schedule')) 结果是一样的:即使在门控签入和/或手动构建中也会执行该步骤。Hmm。。。你说得对。条件很简单。您是
eq(variables['Build.Reason'], 'Schedule')
生成已排队,尽管变量build.Reason='Manual'。执行步骤后,条件更改为:
and(succeeded(), eq(variables['Build.Reason'], 'Schedule'))
结果是一样的:即使在门控签入和/或手动构建中也会执行该步骤。Hmm。。。你说得对。条件很简单。您是否尝试过
和(successed(),in(variables['Build.Reason'],'Schedule')
?我只是尝试了一下,行为也是一样的。因此,我在需要调试时会对我的构建执行此操作。我有一个构建步骤来打印环境变量,这样我就可以看到实际的变量,比如“build.Reason”等等。我使用命令C:\Windows\System32\cmd.exe
和参数/cset
添加步骤“批处理脚本”。请尝试一下,看看在打印的环境变量列表中“Build\u Reason”得到了什么。我包括了一个powershell步骤来打印生成原因变量:write host“我的生成原因是:$env:Build\u Reason”,它根据生成的类型显示正确的值,所以问题不在变量中value@XtianGIS另一个条件对你有效?嗯。。。你说得对。条件很简单。您是否尝试过和(successed(),in(variables['Build.Reason'],'Schedule')
?我只是尝试了一下,行为也是一样的。因此,我在需要调试时会对我的构建执行此操作。我有一个构建步骤来打印环境变量,这样我就可以看到实际的变量,比如“build.Reason”等等。我使用命令C:\Windows\System32\cmd.exe
和参数/cset
添加步骤“批处理脚本”。请尝试一下,看看在打印的环境变量列表中“Build\u Reason”得到了什么。我包括了一个powershell步骤来打印生成原因变量:write host“我的生成原因是:$env:Build\u Reason”,它根据生成的类型显示正确的值,所以问题不在变量中value@XtianGIS另一个条件对你有效吗?