使用不同代理程序的TeamCity多步构建

4
我们刚刚扩展了TeamCity的使用规模,现在我们有多个代理程序运行在不同的服务器上(它们以前都在同一台服务器上)。
我们遇到的问题是在包含多个步骤的构建过程中,最后一步依赖于之前步骤创建的工件。似乎并不是所有构建步骤都使用相同的代理程序。因此,当构建代理程序1在C:\BuildAgent\work\785e028597a0a18d\src\\obj\octopacked中创建工件时,最后一步无法找到该工件,因为最后一步似乎在另一个代理程序Build Agent 2上运行,而在该服务器上没有该工件。
我是否只需要使用UNC路径来设置工件,还是我漏掉了什么? 我以为一个构建配置总是会使用相同的构建代理程序,但事实似乎并非如此。
非常感谢任何帮助。
此致
dotdev

你能澄清一下吗?你说的是多步构建吗?你的意思是指有多个配置的构建,即一个构建配置依赖于另一个构建的构建工件吗?步骤通常在一个代理上运行。 - Matt
1个回答

2
如果您正确地发布构建工件,那么不同的代理将能够正确地解析它们。我的猜测是它们没有被发布,或者可能它们也没有被正确地消耗。
1. 确保您使用以下字段发布您的工件,但我可以看到您正在使用Octopack,那么这应该会自动发布。值得注意的是,在编译步骤中,可能还要检查标志/p:OctoPackPublishPackagesToTeamCity=false是否作为构建参数传递。

enter image description here

2. 在依赖的构建配置中,确保你正确地使用了该构件。

enter image description here

这将确保 .nupkg 在启动此构建配置的代理的工作目录中可用。如果它不在那里,请查看生成该产物的步骤,确保正在发布它。

希望这可以帮到你。


那就是它!非常感谢。 - dotdev

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接