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雖然功能簡單,但更人性化


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM