在一组代理上运行作业
有时您可能希望在环境中的所有代理或与特定资源标签匹配的所有代理上运行某个作业。例如,您可能希望在所有 Linux 代理上运行系统更新,或者安装新软件。
GoCD 将在与作业中指定的环境和资源匹配的所有代理上运行该作业。
如果某个代理丢失或失去联系,作业仍会被调度。当代理重新上线时,作业将被重新调度。
作业会根据配置文件中的作业名称获得唯一名称。例如,如果作业名为“deploy”,并且您有两个代理,您将看到类似“deploy-runOnAll-1”和“deploy-runOnAll-2”的作业。
通过管理 UI 配置
要为某个作业启用“在所有代理上运行”,请导航到作业配置中的作业设置页面。
通过配置 XML 配置
要指定某个作业应在所有代理上运行,请添加属性runOnAllAgents="true"
到作业的定义(请参阅配置参考以获取<job>
)
<job name="deploy" runOnAllAgents="true">
...
</job>
运行“X”个作业实例
如果您希望运行相同作业配置的多个实例,则无需维护多个相同的作业配置。您可以指定所需的作业实例数量,并且 Go 将在调度期间生成所需数量的作业实例。
此功能特别适用于测试并行化。它使 Go 用户能够与其他测试并行化工具集成,例如TLB等等,以实现分布式测试执行,同时保持最少的配置。
作业会根据配置文件中的作业名称获得唯一名称。例如,如果作业名为“test”且您已将 runInstanceCount 设置为 2,则您将看到类似“test-runInstance-1”和“test-runInstance-2”的作业。Go 为每个作业提供作业索引 (GO_JOB_RUN_INDEX) 和总作业数 (GO_JOB_RUN_COUNT) 的环境变量。
通过管理 UI 配置
要运行“x”个作业实例,请导航到作业配置中的作业设置页面。
通过配置 XML 配置
要指定应运行“x”个作业实例,请添加属性runInstanceCount="5"
到作业的定义(请参阅配置参考以获取<job>
)
<job name="test" runInstanceCount="5">
...
</job>