如何跨项目在 TFS 2017 中创建新的构建定义

How do I create a new build definition in TFS 2017 across projects

我们刚刚从 TFS 2013 升级到 TFS 2017,我很高兴能够进入并创建一个新的构建定义,但我似乎无法在集合级别执行此操作。我只能在选择项目后创建新的构建定义,然后在定义“获取源”页面时我似乎无法访问集合中的其他项目。它将允许我获得的最高级别是当前项目。在存储库下拉列表中,唯一的选项是当前项目。如何在 TFS 2017 中跨项目创建新的构建定义?

TFS 构建目前是项目级别的,它无法在集合级别和跨项目创建构建定义。对于 2015 年,您可以不使用触发器路径 '$/{team project}',而是只插入 '$/',这将导致持续集成构建触发该团队项目集合中的所有签入。这更像是一个后门。

但是,在 TFS 2017 中,不再可以自由编辑该字段,您只能为构建定义所在的团队项目添加触发器。


有一个用户语音开始:

VSO build vnext: share build templates between projects

https://visualstudio.uservoice.com/forums/330519-visual-studio-team-services/suggestions/8468566-vso-build-vnext-share-build-templates-between-pro

作为解决方法,您可以将项目中的现有构建定义导出到其他项目。但是,这只是避免您在另一个团队项目中手动复制定义。它无法从与构建定义不同的另一个项目中获取源代码。

Visual Studio Marketplace 中有一个 Export/Import Build Definition 扩展,您现在可以使用。也可从 TFS2017 update1 构建定义网站 UI:

.