有时候,我们一个pipeline执行成功后,可能需要执行第二个pipeline,执行失败的话则执行另外一个pipeline,这个时候选择通过API方式调用是一个很好的办法。

step1: 生成jenkins token
到jenkins系统管理页面,给当前登陆用户增加生成token并记录好。
在这里插入图片描述

step2: 启用pipeline的远程调用功能
针对我们需要的pipeline,开启远程构建功能。
在这里插入图片描述

第3处填入我们的jenkins token名称,最后一定要保存哟。

step3: 通过调用url远程调用pipeline
1st way 不带参数
http://jenkins_url/job/my%20fist%20pipeline/build?token=TOKEN_NAME
这种方式要求,pipeline没有参数,否则就会因为参数缺失而调用失败。
在这里插入图片描述

注意,最后一个参数,token=jenkins token名称而非token的值。

2st way 带参数
http://jenkins_url/job/my%20fist%20pipeline/buildWithParameters?token=TOKEN_NAME&cause=Cause+Text,但是要注意jenkins pipeline本身一定是有参数的定义。就像我们调用一个函数并传参,前提是人家函数内部预留了参数,允许传参.

3st way 带参数
curl -X POST http://192.168.3.21:8080/job/lhh_pub/job/hello_world/buildWithParameters --user robin:11aa405306748aeaac00767d9837a051c2 --data env_name=DEV2

这种方式是最灵活的方案,方便被ansible等自动化运维工具调用。

step4: 登陆pipeline查看构建日志
在这里插入图片描述

看日志没发现什么差异,跟本地调用一样。

结束。

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐