在构建定义需求中使用用户定义的变量
Use user-defined variables in build definition demands
在 TFS 2015 及更高版本中,是否可以解析构建定义需求中的用户定义变量?
上下文
构建定义在其构建代理上需要某些软件 A
,因此我设置了自定义 agent capability A = path/to/A
.
我想在我的构建定义中使用此路径并确保构建定义使用正确的路径在开始构建之前。
由于 TFS 不支持在 构建定义 或 发布定义 的步骤中引用代理功能的值,我正在尝试创建解决方法。我不想在构建机器上使用自定义环境变量,因为我想避免额外的构建步骤 which is required to pass the env variable to TFS build steps.
计划的解决方法
- 在包含
path/to/A
的构建定义中有一个变量 SoftwareA
可以被构建步骤使用。
- 在构建定义 -> 常规 -> 需求中检查
A
是否等于 $(SoftwareA)
。
然而 $(SoftwareA)
似乎没有被 TFS 解析,而是按字面意思理解。
不,不幸的是,变量永远不会扩展到 build/release 环境之外。
因此您需要手动更改需求值以匹配您在代理功能中定义的路径。
也就是说加需求A
等于path/to/A
.
有一个 user voice here 建议此功能,但已存档。您可以再次提交新的用户意见来推荐此功能。
在 TFS 2015 及更高版本中,是否可以解析构建定义需求中的用户定义变量?
上下文
构建定义在其构建代理上需要某些软件 A
,因此我设置了自定义 agent capability A = path/to/A
.
我想在我的构建定义中使用此路径并确保构建定义使用正确的路径在开始构建之前。
由于 TFS 不支持在 构建定义 或 发布定义 的步骤中引用代理功能的值,我正在尝试创建解决方法。我不想在构建机器上使用自定义环境变量,因为我想避免额外的构建步骤 which is required to pass the env variable to TFS build steps.
计划的解决方法
- 在包含
path/to/A
的构建定义中有一个变量SoftwareA
可以被构建步骤使用。 - 在构建定义 -> 常规 -> 需求中检查
A
是否等于$(SoftwareA)
。
然而 $(SoftwareA)
似乎没有被 TFS 解析,而是按字面意思理解。
不,不幸的是,变量永远不会扩展到 build/release 环境之外。
因此您需要手动更改需求值以匹配您在代理功能中定义的路径。
也就是说加需求A
等于path/to/A
.
有一个 user voice here 建议此功能,但已存档。您可以再次提交新的用户意见来推荐此功能。