curl 启动jenkins job,以及pipeline启动remotejob

必须的设置:
在这里插入图片描述
With the curl command line tool, you disable this with -k/–insecure.
HTTPS的job需要添加上述参数

含有参数
curl --insecure -u “username:password” -X post “url/buildWithParameters?token=" -d “p1=ss” -d “p2=s2”
不含有参数
curl --insecure -u “username:password” -X post "url/build?token=

1.curl
curl是利用URL语法在命令行方式下工作的开源文件传输工具。它被广泛应用在Unix、多种Linux发行版中,并且有DOS和Win32、Win64下的移植版本。

1.1 获取页面/资源文件
curl http://www.baidu.com
获取url指向的页面;如果URL指向的是文件或者图片等资源文件,资源文件可以直接下载到本地

1.2提交GET请求
curl "wwww.baidu.com?wd=jenkins”

1.3提交POST请求
curl -d "wd=jenkins” www.baidu.com

2.jenkins

2.1运行job

2.1.1无参任务
curl -X POST http://localhost:8080/jenkins/job/plugin%20demo/build --user admin:admin

2.1.2含参任务
不设置参数/使用默认参数
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设置参数方法2
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"?>…’ | 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 U s e r N a m e : {UserName}: 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

3 触发remotejob
假设有两个Jenkins server,我们在一个Jenkins server的job中触发另一个Jenkins server的job
以pipeline为例

node("master"){
	stage("testremote"){
		triggerRemoteJob auth:CredentialsAuth(credentials:'******'), blockBuildUntilComplete:false,job:'jobname',
		remoteJenkinsUrl:'http://ip:port', token='12345 这个就是本文一开始的设置',
		parameters:'''p1=${parametername}\np1=${param2}'''
	}
}

注意parameters冒号后面不能加空格
https://blog.csdn.net/m0_37904728/article/details/82790390

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值