【问题标题】:Variables in TFS Mappings on Visual Studio Online Team BuildsVisual Studio Online Team Builds 上的 TFS 映射中的变量
【发布时间】:2015-09-04 15:51:22
【问题描述】:

我使用新的团队构建系统创建了一个 VSO 构建,该系统使用 TFS 作为存储库。我想在 Mappings -> Map 值中引入一个变量,但是当我这样做时出现此错误:

TF10122: The path '$/YourProject/${Build}' contains a '$' at the beginning of a path component. Remove the '$' and try again.

有没有办法做到这一点,还是我只需要硬编码我的地图路径?

【问题讨论】:

  • 我只想说你很清楚地证明了你不能。无论如何,您为什么希望它成为变量?您的应用程序的路径不应因构建而异。此外,作为记录,变量以$(Variable) 访问,而不是${Variable}
  • 我想在一个地方为我拥有的任何用途指定构建名称。而且我还没有证明其他任何东西,我不知道是否有办法逃避事情以便它起作用:)
  • @ShaneCourtrille,您需要自定义内部版本号吗?您无法通过设置映射文件夹来实现,请在下面查看我的回复。

标签: tfs tfsbuild azure-devops


【解决方案1】:

Repository 页面上的映射用于指定包含需要在构建定义中构建的项目的源代码控制文件夹。您可以通过单击省略号 (...) 按钮来设置它,但是,您不能在映射路径中包含变量。

【讨论】:

  • 但是,如果您想对缺少的功能进行权衡,有一个关于 Uservoice 的想法:visualstudio.uservoice.com/forums/330519-team-services/…
  • 这个问题现在已经在 VSTS 和 TFS2017 中得到解决,但是如果你在变量名中使用下划线,你仍然会得到这个错误。即 MyPath = 好,My_Path = 坏
【解决方案2】:

我也有这个问题,我想设置正在构建的分支,以便有一个可以链接到单个版本(在 vso 中)的单一构建,因为 vso 发布系统没有全局环境定义.

无论如何,这曾经是可能的,但他们 removed this capability 没有用其他东西替换它,有点烦人。

我通过将我的 dev 和 main 分支的映射添加到不同的本地文件夹,然后在实际的构建步骤中使用变量来区分它们来解决这个问题。只要你不需要映射大量的分支就可以了,尽管它有点麻烦。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多