如何为个人Jenkins工作关闭git notifyCommit web hook触发器?

时间:2016-01-25 10:16:25

标签: git jenkins

我在构建管道中有几个Jenkins工作。其中之一是性能测试,需要很长时间才能运行。我希望它每天只运行一次,或者至少在晚上的允许时间窗口内运行。

目前,工作由以下方式触发:

  • BuildResultTrigger plugin
    • 监控管道中的上一个作业(构建阶段)
    • 状态:SUCCESS或UNSTABLE
    • 日程安排:@midnight
  • Git pluginnotifyCommit关于推送事件,通过GitLab服务器中的Web挂钩。

如果只是针对BuildResultTrigger,那对我来说就足够了。但是,notifyCommit Web挂钩会触发每个作业,该作业使用与URL中定义的相同的git存储库。而且我无法 使用git存储库,因为很明显。 (除非有办法?)

我在寻找:

  • 关闭单个作业的git notifyCommit网络钩子触发器的方法。
  • 或者定义时间窗口的方法,例如从00:00 AM到04:00 AM,这是唯一允许该作业运行的时间。

1 个答案:

答案 0 :(得分:1)

我将使用Clone Workspace SCM plugin

这个插件可以从一个项目的构建中归档工作区,并将它们重新用作另一个项目的SCM源。

  • 作业A构建项目
  • 在成功构建结束时,Clone Workspace SCM插件会归档构建工作区
  • 作业B不使用Git SCM,因此它不会被git notifyCommit Web挂钩触发器激活。
  • 作业B使用Clone Workspace SCM检索作业A的最后一次成功构建。
  • 作业B每天运行一次性能测试,计划在@midnight附近。

我也在使用Shared Workspace plugin,但我不再使用它了。克隆工作区更符合我的需求。