Jenkins工程之远程构建&&远程调用
Jenkins工程支持远程构建功能,在某些场景下,常需要不进入jenkins页面而直接调用请求激活jenkins工程构建,本文简单介绍一下该远程构建功能的使用。
Jenkins工程支持远程构建功能,在某些场景下,常需要不进入jenkins页面而直接调用请求激活jenkins工程构建,本文简单介绍一下该远程构建功能的使用。
1.登录jenkins---某个工程----配置---构建触发器,勾选远程构建
2.在“身份验证令牌”处输入验证令牌,如:123456
3.完成后如下图,有介绍使用方式
4.在一台远程电脑上先登录jenkins(必要),然后在地址栏中按照上一步中给出的方法配置好地址,点击跳转,即会触发远程构建
5.大家是不是觉得很麻烦,既然我是想使用远程构建,当然是不想远程登录jenkins了。都登录了页面,为什么不直接在页面上构建呢?
解决方法是我们按照下面配置来使用curl调用远程构建接口:
curl -X GET http://<user>:<password>@<jenkins_build_url>
实例:
curl -X GET http://admin:12345678@10.129.11.76:8080/view/stargate-engine/job/test/build?token=123456
当然,其他接口工具调用也可以
6.如果工程中有涉及到参数,则需要把build修改为buildWithParameters,不然会失败
修改后的例子:curl -X GET http://admin:12345678@10.129.11.76:8080/view/stargate-engine/job/test/buildWithParameters?token=123456
7.如果不想使用默认参数,可以照如下使用(这个方法可以不用配置远程调用token,但使用前需要在Configure Global Security里面把“防止跨站点请求伪造”前面的勾去掉):
curl -X POST http://10.129.11.76:8080/view/stargate-engine/job/test/buildWithParameters?service_name=stargate-portal --user admin:123456
注意:由于想参照第6步使用调远程构建token的方式一直不成功(网上的很多方式都试了无用),所以最后换成了上面的方式,如果有同学构建成功了,可以在评论区告知,当然6的方式既然也需要配置密码还需要远程构建token值,所以其实第7步的方式更好(省去了配置远程构建token值)
8.基于安全性考虑,如果不想暴露jenkins密码,可以把密码换成api token,对应操作用户---设置--api token---show API Token,可以查询到,然后将密码替换成对应的api-token即可,如:
curl -X POST http://10.129.11.76:8080/view/stargate-engine/job/test/buildWithParameters?service_name=stargate-portal --user dom:d6fdce729f7aa4485816844c8e544ab9
9.如果要设置多个参数,则可采用以下方式:
更多推荐
所有评论(0)