Jenkins批量構建的方法和通過觸發url地址發版

當你的領導有變態需求時,首先不要答應他,然後過一分鐘再說我想想辦法吧,當然翔哥我就厲害了,我會說老子不會。

方法一

創建個自由風格的項目或者其他項目

Jenkins批量構建的方法和通過觸發url地址發版

Jenkins批量構建的方法和通過觸發url地址發版

方法二

Jenkins批量構建的方法和通過觸發url地址發版

Jenkins批量構建的方法和通過觸發url地址發版

或者:
Jenkins批量構建的方法和通過觸發url地址發版

Jenkins批量構建的方法和通過觸發url地址發版

方法三:

通過url觸發Jenkins批量構建
首先應該知道你當前用戶下的api token

Jenkins批量構建的方法和通過觸發url地址發版

Jenkins批量構建的方法和通過觸發url地址發版

在服務器上測試一下,然後執行完命令去Jenkins上瞅一眼。

curl -v -X POST --data- urlencode“MyDescription = This is my desc”“http:// [myServer] / job / [jobName] / buildWithParameters”
#
#
Jenkins批量構建的方法和通過觸發url地址發版
#
#

我的Jenkinsfile:

#!/usr/bin/env1 groovy
import groovy.util.XmlSlurper
import groovy.lang.GroovyObjectSupport
import groovy.util.slurpersupport.GPathResult
import groovy.util.slurpersupport.NodeChild
import groovy.util.Eval

stage ('xxxx jenkins'){
        node{
env1 = JOB_NAME.split("-")[0]                       #取項目名DEV-cdp_brand,DEV做變量

sh "curl -X POST http://lxxx:[email protected]/job/'${env1}'-sk_platform_develop/buildWithParameters"
sh "sleep 15"
sh "curl -X POST http://lxxx:[email protected]/job/'${env1}'-sk_platform_system/buildWithParameters"
sh "sleep 15"
sh "curl -X POST http://lxxx:[email protected]/job/'${env1}'-sk_platform_center/buildWithParameters"
sh "sleep 15"
sh "curl -X POST http://lxxx:[email protected]/job/'${env1}'-sk_platform_design/buildWithParameters"
sh "sleep 15"
sh "curl -X POST http://lxxx:[email protected]/job/'${env1}'-sk_service_data_center/buildWithParameters"
sh "sleep 15"
sh "curl -X POST http://lxxx:[email protected]/job/'${env1}'-sk_service_data_convert/buildWithParameters"
sh "sleep 15"
sh "curl -X POST http://lxxx:[email protected]/job/'${env1}'-sk_service_design/buildWithParameters"

    }
}

我使用的是管道。。,建議你們直接寫shell腳本就行了

當你的Jenkins需要job通過curl構建時添加其他參數比如:

Jenkins批量構建的方法和通過觸發url地址發版

#
#
Jenkins批量構建的方法和通過觸發url地址發版

比如說把master分支換成其他的
curl -X POST http://mxxy:[email protected]/job/DEV-cdp_brand_home_manage_app/buildWithParameters -d branch='alpha1.0.X'

#
#
1無參任務

curl -X POST http://localhost:8080/jenkins/job/plugin%20demo/build --user admin:admin

2含參任務
不設置參數/使用默認參數

curl -X POST http://localhost:8080/jenkins/job/commandTest/buildWithParameters --user admin:admin

3設置參數方法1

curl -X POST http://localhost:8080/jenkins/job/commandTest/buildWithParameters -d port=80

4設置參數方法2

curl -X POST http://localhost:8080/jenkins/job/commandTest/buildWithParameters -d port=80 --data-urlencode json='"{\"parameter\": [{\"name\": \"port\", \"value\": \"80\"}]}”'

5多參數

http://localhost:8080/jenkins/job/commandTest/buildWithParameters -d param1=value1¶m2=value

![](https://s1.51cto.com/images/blog/201901/18/5cb1932d6e2fa7f86ce46e4f2cab9199.jpg?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

6 需創建目錄

1).創建job目錄

~/.jenkins/jobs/jobfromcmd

2).創建config.xml文件(可從其他工程中複製)
3).運行命令

curl -X POST http://localhost:8080/jenkins/createItem?name=jobfromcmd --user admin:admin --data-binary "@config.xml" -H "Content-Type: text/xml”

7.不需創建目錄
1).創建config.xml文件(可從其他工程中複製)
2).運行命令(在config.xml同一目錄下)

curl -X POST http://localhost:8080/jenkins/createItem?name=jobfromcmd --user admin:admin --data-binary "@config.xml" -H "Content-Type: text/xml”

 8.直接使用控制檯,不需創建xml文件(將xml內容寫入控制檯中運行)

echo '<?xml version="1.0" encoding="UTF-8"?><project>…</project>' | curl -X POST -H 'Content-type:text/xml' -d @- http://localhost:8080/jenkins/createItem?name=jobfromcmd

9. 刪除job

curl -X POST http://localhost:8080/jenkins/job/jobfromcmd/doDelete
10. 查詢job的狀態

curl --silent ${JENKINS_SERVER}/job/JOB_NAME/lastBuild/api/json

11. 自動disable Project:

curl --user ${UserName}:${PASSWORD} -o /dev/null --data disable JENKINS_URL/job/JOBNAME/disable

12.獲取build的num

curl --silent ${JENKINS_SERVER}/job/JOB_NAME/lastBuild/buildNumber

13.獲取最近成功的build的num

curl --silent ${JENKINS_SERVER}/job/JOB_NAME/lastStableBuild/buildNumber

#
#
後來我的領導又說聯合發版沒辦法更改代碼branch,這時候一定要告訴你領導 “滾”

如下圖:
Jenkins批量構建的方法和通過觸發url地址發版

#
#
Jenkins批量構建的方法和通過觸發url地址發版
#
Jenkins批量構建的方法和通過觸發url地址發版
#
Jenkins批量構建的方法和通過觸發url地址發版
#
#
#
#
#

Jenkins批量構建的方法和通過觸發url地址發版
樓鎮圖(我朋友發給我的問我是誰,看着特眼熟就說說不出來名)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章