我们的代码库中很小一部分是一些遗留Java代码。我正在尝试添加一个新的构建,它将调用ant来构建这个项目。
第一个问题是TFS不允许您创建不构建.Net解决方案的构建。我通过复制先前的构建文件并添加EndToEndIteration任务来解决这个问题,该任务是构建的入口点。
问题是没有填充通常的构建变量 - $(BuildDirectory),$(SolutionRoot) - 全部为空白。这几乎意味着我不能在没有硬编码路径的情况下调用我的ant任务(我绝对不能这样做)。
有什么想法吗?
答案 0 :(得分:3)
您可能需要查看Teamprise Build Extensions,它允许从TFS构建Ant或Maven任务。
答案 1 :(得分:2)
你应该能够在环境变量之间传递任何你想要的信息,做出你想做的任何事情。我不打算向你推荐硬编码路径,但是你必须将配置放在某处,这完全取决于你想要改变什么以及你希望如何组织。如果你真的需要,你可以将所有的配置推送到一个数据库中并使用上述链接中的一个SQL任务将其删除,但只记得你添加了相当多的复杂性,这可能是不必要的。
问问自己:
在某处写下答案并确保团队中的每个人都理解它。在我看来,建立系统“少即是多”。找到最简单的方法,并做到这一点,直到变得不可接受,然后才增加复杂性...... TFS已经足够复杂了。
答案 2 :(得分:1)
我认为你在这里使用错误的工具--TFS永远不会是构建除.NET应用程序之外的任何其他工具的好方法。我认为你最好只使用独立容量的蚂蚁。
答案 3 :(得分:1)
感谢所有答案。
最后,我在构建文件旁边添加了一个空解决方案。这样就可以填充所有变量,我只需要包含一个可以完成我想要的所有变量。