我们在内部使用TFS 2017 Update 3进行CI和CD。我们的构建服务器有两个代理。我们目前只有一些自动发布版本,但正在努力增加更多内容。典型版本具有3个环境,并且每个环境具有X阶段,以便在逻辑上分离/分组活动。例如:
直到最近,因为我们只有很少的版本,一次只发布一个版本,它运行正常。今晚我有点儿。
发生了什么是第1版开始,当它处于第3阶段时,第2版排队。第2版在代理2上开始第1阶段,因为第1版正在使用第1代。当第2版进入第2阶段时,代理1现已免费,因此它在代理1上执行第2和第3阶段。这导致阶段2和3版本2在前一个环境的发行版运行的文件夹中运行,从而导致将错误的设置复制到目标环境。我希望这很清楚。基本上QA设置被复制到PROD。
我曾经想过环境的所有阶段都在同一个代理上开始并完成。
那么,要实现“Agent Affinity”,我唯一的选择是使用1阶段吗?我会错过步骤的逻辑分离。我没有看到任何可以控制它的地方。
在此先感谢您的帮助。
阶段不应取决于先前阶段的输出。使用单相。
您可以使用任务组将步骤逻辑分组在一起。