jenkins 触发pipeline执行(8) 未完

一.时间触发

  之前是通过手动触发构建的,显然不够自动化,对于pipeline触发条件,一般是时间触发和事件触发。

  时间触发是指定义一个时间,时间到了就触发pipeline执行,在jenkins pipeline中使用trigger指令来定义时间触发。trigger指令只能被定义在pipeline块下,jenkins内置支持cron,pollSCM,upstream三种方式,其它方式可以通过插件来实现。

 

  1.1 cron 定时执行

    定时执行就像cronjob,一到时间就执行,它的使用场景通常是执行一些周期性的job。下面是每天18点内,间隔2分钟构建一次,配置好后一定要手动构建一次任务,让jenkins加载pipeline后,trigger指令才会生效,在等2分钟看是否自动构建。

    注意好像配置1分钟一次不行 H/01 18 * * *

pipeline {
    agent any
    triggers{
        cron('H/02 18 * * *')
    }
    stages {
        stage('Hello') {
            steps {
                echo 'Hello World'
            }
        }
    }
}

    只有手动构建一次后,再查看配置界面,此时已经自动配置好了,如下图所示:

 

 

    详细参考:https://www.cnblogs.com/ycyzharry/p/7598337.html

 

  1.2 pollSCM 轮询代码仓库

    轮询代码仓库是指定期到代码仓库询问代码是否有变化,那多久轮询一次? 笔者的回答是:越频繁越好,这里是2分钟一次是代码是否有变化:

pipeline {
    agent any
    triggers{
         pollSCM('H/02 * * * *')
    }
    stages {
        stage('Hello') {
            steps {
                echo 'Hello World'
            }
        }
    }
}

    只有手动构建一次后,再查看配置界面,此时已经自动配置好了,如下图所示:

    

     不知为什么,自动触发不起使用

   这种不太推荐,最好的方式是代码仓库主动通知jenkins,而不是jenkins频繁去代码仓库检查。

 

二.事件触发

    发生了某个事件就触发pipeline执行,比如手动在界面上触发,其它Job主动触发,http api webbook触发等。

  2.1 upstream 由上游任务触发

    当B任务的执行依赖A任务的结果时,A就称为B的上游任务,jenkins 2.22及以上版本中,trigger指令开始支持upstream类型的触发条件, upstream的作用就是能让B pipeline自行决定依赖哪些上游任务.

      配置upstream如下所示:

 

    下面是pipeline-trigger的job,它依赖于helloworld, 当helloworld构建成功后,会触发pipeline-trigger的构建

pipeline {
    agent any
   triggers {
        upstream 'helloworld'
    }
    stages {
        stage('Hello') {
            steps {
                echo 'Hello World'
            }
        }
    }
}

 

   2.2 Generic Webhook Trigger插件

    安装该插件后,jenkins会暴露一个API :<JENKINS URL>/generic-webhook-trigger/invoke。安装如下所示:manage jenkins-->Manage Plugins

      勾选,下载安装完在,在重启kenkins服务.

     

     jenkins必需要部署在公网,否则腾讯公蜂访问不到, 如果是公司内部搭建了git服务器,那jenkins就可以部署在内网

    参考: https://www.cnblogs.com/chy-op/p/10560217.html

 

posted on 2022-11-30 17:14  花阴偷移  阅读(43)  评论(0编辑  收藏  举报

导航