Jenkins - 如何暂停排队作业的运行并让新构建优先
Jenkins - How to pause queued job's runs and let a new build take priority
詹金斯任何版本。
我有两个版本:1.642.3 或 2.32.3
我有一份 Jenkins 工作 jobA。假设此作业将工件部署到目标部署服务器。
- 它需要 2 个参数,工件名称和目标部署服务器。
- 执行并发构建当前已禁用,即未选中标记。
假设我在此作业上手动启动了多个构建 - 或通过 Jenkins CLI - 或通过 Rest API 方式(即通过一些 automation/integration/parent 上游作业调用此作业)。
- 我现在明白了,有一个 Jenkins 构建 进行中 - 和 - 所有其他 N
不。 运行 处于“排队”模式。
假设我在队列中有将近 100 多个这样的构建(准备在正在进行的构建完成后立即启动),我正在尝试看看是否有办法 暂停现有的排队构建(PS:我不想取消它们)和启动一个新的构建(我想紧急部署),一旦完成,取消暂停排队的构建(这样我就不必取消所有这些 和 re-submitting/re-building 再次 通过记住传递的参数是什么 -- 工件名称和目标部署服务器)。
我的3个条件:
1) 我目前的情况之一是 运行ning 所在的服务器是一台 Jenkins master/slave 机器(它有一些无法带到其他机器的凭据,即我无法复制源 Jenkins 机器(工作是 运行ning 作为奴隶,因此,我不能使用一堆奴隶)和
2) 这个工作还在源机器上的一个公共位置创建了一些 运行time folders/files,我不想被 运行ning 并发/并行覆盖如果我启用 "Execute concurrent builds",就会构建。我知道,并发构建的工作空间对于每个作业 运行 都是单独的,但如果作业在 运行.
期间创建公共 folder/file 则不是
3) 我不想创建此作业的副本:)
一句话,是否可以暂停现有的排队构建(或一些排队构建),以便我可以启动一个新构建或让其他构建优先作为下一个构建,然后取消暂停暂停的构建恢复(不需要他们重新启动的启动)?
您可以为此使用 Priority Sorter Plugin。
向作业添加一个新的字符串参数,例如 BUILD_PRIORITY
并将默认值设置为 2。然后在 Job Priorities
菜单中 select Use Priority from Build Parameter
优先级策略并将该参数放在那里。
现在您可以使用默认的 BUILD_PRIORITY 参数值 (2) 运行 100 多个作业,如果您需要紧急启动新构建,只需将该参数设置为 1 即可首先在队列中构建。
詹金斯任何版本。
我有两个版本:1.642.3 或 2.32.3
我有一份 Jenkins 工作 jobA。假设此作业将工件部署到目标部署服务器。
- 它需要 2 个参数,工件名称和目标部署服务器。
- 执行并发构建当前已禁用,即未选中标记。
假设我在此作业上手动启动了多个构建 - 或通过 Jenkins CLI - 或通过 Rest API 方式(即通过一些 automation/integration/parent 上游作业调用此作业)。
- 我现在明白了,有一个 Jenkins 构建 进行中 - 和 - 所有其他 N 不。 运行 处于“排队”模式。
假设我在队列中有将近 100 多个这样的构建(准备在正在进行的构建完成后立即启动),我正在尝试看看是否有办法 暂停现有的排队构建(PS:我不想取消它们)和启动一个新的构建(我想紧急部署),一旦完成,取消暂停排队的构建(这样我就不必取消所有这些 和 re-submitting/re-building 再次 通过记住传递的参数是什么 -- 工件名称和目标部署服务器)。
我的3个条件:
1) 我目前的情况之一是 运行ning 所在的服务器是一台 Jenkins master/slave 机器(它有一些无法带到其他机器的凭据,即我无法复制源 Jenkins 机器(工作是 运行ning 作为奴隶,因此,我不能使用一堆奴隶)和
2) 这个工作还在源机器上的一个公共位置创建了一些 运行time folders/files,我不想被 运行ning 并发/并行覆盖如果我启用 "Execute concurrent builds",就会构建。我知道,并发构建的工作空间对于每个作业 运行 都是单独的,但如果作业在 运行.
期间创建公共 folder/file 则不是3) 我不想创建此作业的副本:)
一句话,是否可以暂停现有的排队构建(或一些排队构建),以便我可以启动一个新构建或让其他构建优先作为下一个构建,然后取消暂停暂停的构建恢复(不需要他们重新启动的启动)?
您可以为此使用 Priority Sorter Plugin。
向作业添加一个新的字符串参数,例如 BUILD_PRIORITY
并将默认值设置为 2。然后在 Job Priorities
菜单中 select Use Priority from Build Parameter
优先级策略并将该参数放在那里。
现在您可以使用默认的 BUILD_PRIORITY 参数值 (2) 运行 100 多个作业,如果您需要紧急启动新构建,只需将该参数设置为 1 即可首先在队列中构建。