終端curl調用jenkins自動化持續集成

1.curl
curl是利用URL語法在命令行方式下工做的開源文件傳輸工具。它被普遍應用在Unix、多種Linux發行版中,而且有DOS和Win3二、Win64下的移植版本。html

1.1 獲取url指向的頁面/資源文件;若是URL指向的是文件或者圖片等資源文件,資源文件能夠直接下載到本地json

curl http://www.baidu.com

 

1.2提交GET請求api

curl "wwww.baidu.com?wd=jenkins」

 

1.3提交POST請求curl

curl -d "wd=jenkins」 www.baidu.com

 

2.jenkins工具

2.1運行jobui

2.1.1無參任務url

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

 

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

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

 

2.1.3設置參數方法1命令行

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

 

2.1.4設置參數方法2code

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

 

2.1.5多參數

http://localhost:8080/jenkins/job/commandTest/buildWithParameters -d param1=value1&param2=value

 

2.2 建立job

2.2.1 需建立目錄

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」

 

2.2.2 不需建立目錄
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」

 

2.2.3直接使用控制檯,不需建立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


2.3 刪除job

curl -X POST http://localhost:8080/jenkins/job/jobfromcmd/doDelete

 

2.4 查詢job的狀態

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

 

2.5 自動disable Project:

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

 

2.6獲取build的num

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

 

2.7獲取最近成功的build的num

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

 

更多curl參考:
https://curl.haxx.se/docs/manpage.html
https://curl.haxx.se/docs/manual.html

相關文章
相關標籤/搜索