一、安裝好插件
二、構建觸發器會出現設置trigger的入口
三、設置的兩個部分
第一:
Jenkins的這個觸發器,這里主要是接受post數據。其中Post content parameters是用來設置匹配post數據中的字段名和字段內容,而圖中的ref為字段名,必須是post數據中的一個變量/字段,$.ref表示這個變量的內容。當然,根據開發的要求,結合post數據,這里可以增加多個字段。
第二:
結合第一部分里設置的變量,就會在這里的Optional filter里用到,圖中可以看到Text有三個用下划線隔開的變量,都是post數據中的字段,分別為ref、created、project.git_ssh_url,分別表示tag名,是否新建tag,倉庫的git地址。Expression中是三個變量的內容,里面有使用正則表達,整個意思是匹配到 在地址為git@........git的倉庫里 新建標簽,並且標簽包含dev- 就觸發job的構建。
這里貼一小部分post數據:
{ "ref": "refs/tags/master-1.0.1", "before": "fd83c6e98e4ba3a356922b40ea2584147dbde47d", "after": "00000000", "created": false, "deleted": true, "compare": "https://gitee.com/gym_op/sms/compare/fd83c6e98e4ba3a356922b40ea2584147dbde47d...00000000", "commits": [], "head_commit": null, "repository": { "id": 3555310, "name": "sms", "path": "sms", "full_name": "gym_op/sms", "owner": {
四、碼雲上倉庫設置webhook
填寫上圖中的url---POST地址,http://Jenkins用戶名:密碼@Jenkins地址/generic-webhook-trigger/invoke(eg:http://admin:123456@192.168.1.2:8080/generic-webhook-trigger/invoke),密碼已經寫在url里了,就不需要再填了。選擇事件,是用來觸發發送post數據的,只要開發人員執行了選中的事件,然后發送數據到Jenkins,Jenkins的trigger收到數據后就用之前設置的變量開始過濾判斷是否觸發job。