在 Jenkins 中应该在任何类型的工作之前执行的 Jenkins 插件代码是 运行
Jenkins plugin code that should excute before any kind of job is run in Jenkins
我是 Jenkins 插件开发的新手。
M 试图编写一个插件,该插件应该在 在 任何 多配置类型作业 运行 之前在 Jenkins 中执行。
在这个插件中,我想编写规则来检查用户在提交作业时选择了哪些配置参数,根据选择的参数,我想决定是否允许作业到 运行 或限制它 。
应该在 控制台输出中向用户显示为什么该作业不能 运行 的原因。
有谁知道我需要扩展哪些 class 或者我需要实现哪个接口才能挂钩 Jenkins 作业 运行?
您可以查看 Matrix Execution Strategy,它允许 groovy 脚本 select 矩阵组合 运行。我想如果你的脚本抛出异常它会停止构建。
对于背景,多配置项目 运行 一个控制作业(或享元),运行 在 SCM 阶段然后启动所有实际组合。此插件在享元 SCM 检出后 运行 秒。
如果不出意外,这将为您提供一个可用的插件
免责声明:我写了这个插件
Blocked queue job plugin 正是我所需要的
开箱即用的插件支持两种方式来阻止作业 -
基于另一个项目的最后 运行 结果。
基于当前项目最后运行的结果
在该插件中,BlockQueueItemTaskDispatcher.java 扩展了 Jenkin 的 QueueTaskDispatcher,为我们提供了一个进入 Jenkins 逻辑的挂钩,以允许或阻止来自 运行ning 的队列中存在的作业。
我使用此插件作为开发新插件的起点,该插件允许我们根据所选参数和当前时间限制项目。最终目标是在白天限制从 运行ning 开始的生产迁移。
覆盖 QueueTaskDispatcher 的 isBlocked() 方法可以访问 hudson.model.Queue.Item 实例作为我的参数。然后我使用 Item 实例的 getParams 方法来访问用户在 运行 时间选择的构建参数。从中解析生命周期值。检查了当前时间。如果生命周期是 Production 并且当前时间是白天,则通过从 isBlocked() 方法返回非空 CauseOfBlockage 来限制作业。如果该条件为假,则将 CauseOfBlockage 返回为 null,允许排队的作业 运行.
我是 Jenkins 插件开发的新手。
M 试图编写一个插件,该插件应该在 在 任何 多配置类型作业 运行 之前在 Jenkins 中执行。
在这个插件中,我想编写规则来检查用户在提交作业时选择了哪些配置参数,根据选择的参数,我想决定是否允许作业到 运行 或限制它 。
应该在 控制台输出中向用户显示为什么该作业不能 运行 的原因。
有谁知道我需要扩展哪些 class 或者我需要实现哪个接口才能挂钩 Jenkins 作业 运行?
您可以查看 Matrix Execution Strategy,它允许 groovy 脚本 select 矩阵组合 运行。我想如果你的脚本抛出异常它会停止构建。
对于背景,多配置项目 运行 一个控制作业(或享元),运行 在 SCM 阶段然后启动所有实际组合。此插件在享元 SCM 检出后 运行 秒。
如果不出意外,这将为您提供一个可用的插件
免责声明:我写了这个插件
Blocked queue job plugin 正是我所需要的
开箱即用的插件支持两种方式来阻止作业 -
基于另一个项目的最后 运行 结果。
基于当前项目最后运行的结果
在该插件中,BlockQueueItemTaskDispatcher.java 扩展了 Jenkin 的 QueueTaskDispatcher,为我们提供了一个进入 Jenkins 逻辑的挂钩,以允许或阻止来自 运行ning 的队列中存在的作业。
我使用此插件作为开发新插件的起点,该插件允许我们根据所选参数和当前时间限制项目。最终目标是在白天限制从 运行ning 开始的生产迁移。
覆盖 QueueTaskDispatcher 的 isBlocked() 方法可以访问 hudson.model.Queue.Item 实例作为我的参数。然后我使用 Item 实例的 getParams 方法来访问用户在 运行 时间选择的构建参数。从中解析生命周期值。检查了当前时间。如果生命周期是 Production 并且当前时间是白天,则通过从 isBlocked() 方法返回非空 CauseOfBlockage 来限制作业。如果该条件为假,则将 CauseOfBlockage 返回为 null,允许排队的作业 运行.