• Jenkins:Webhook触发多分支项目构建


    总共发现了两种配置方法,分别是通过不同的插件实现

    Generic Webhook Trigger

    安装插件:Generic Webhook Trigger
    image

    在Jenkinsfile中,添加配置:

    triggers {
        GenericTrigger (
                // 构建时的标题
                causeString: 'Triggered by $ref',
                // 获取POST参数中的变量,key指的是变量名,通过$ref来访问对应的值,value指的是JSON匹配值(参考Jmeter的JSON提取器)
                // ref指的是推送的分支,格式如:refs/heads/master
                genericVariables: [[key: 'ref', value: '$.ref']],
                // 打印获取的变量的key-value,此处会打印如:ref=refs/heads/master
                printContributedVariables: true,
                // 打印POST传递的参数
                printPostContent: true,
                // regexpFilterExpression与regexpFilterExpression成对使用
                // 当两者相等时,会触发对应分支的构建
                regexpFilterExpression: '^refs/heads/(master|production)$',
                regexpFilterText: '$ref',
                // 与webhook中配置的token参数值一致
                token: 'mytoken'
        )
    }
    

    如:
    image

    在gitee中配置webhook,在Url中填入:

    https://your_IP/generic-webhook-trigger/invoke?token=mytoken
    

    如:
    image

    提交代码后,gitee会触发jenkins的多分支流水线项目扫描分支。当$ref的值符合正则表达式^refs/heads/(master|production)$,会触发项目的构建。

    注意:当你首次在Jenkinsfile配置triggers后,提交git仓库后不会自动触发构建。原因是:配置触发构建的jenkinsfile未拉取到jenkins项目中。

    其他更详细的用法,请参考:https://gitbook.curiouser.top/origin/jenkins-generic-webhook-trigger插件.html

    Multibranch Scan Webhook Trigger

    安装插件:Multibranch Scan Webhook Trigger

    在多分支项目配置中的Scan Multibranch Pipeline Triggers选择并添加:
    image

    在gitee中配置webhook,在Url中填入:

    https://your_IP/multibranch-webhook-trigger/invoke?token=mytoken
    

    image

    提交代码后,gitee会触发jenkins的多分支流水线项目构建你提交的对应的分支

    如果想要忽略某些分支,可通过Filter by name (with wildcards)实现:
    image

    总结

    Generic Webhook Trigger的配置更灵活,但不太符合常识

    Multibranch Scan Webhook Trigger虽然功能简单,但更人性化

  • 相关阅读:
    洛谷P3811题解
    洛谷P3353在你窗外闪耀的星星-题解
    Map根据value来排序
    java8 groupby count
    Java反射
    maven profile环境切换
    获取nginx代理情况下的真实ip
    获取request里header的name和value
    git 删除iml文件
    java list 排序
  • 原文地址:https://www.cnblogs.com/testopsfeng/p/15139538.html
Copyright © 2020-2023  润新知