Jenkins工程之远程构建&&远程调用

来源:互联网 发布:mac向后删除快捷键 编辑:程序博客网 时间:2024/06/06 00:18

       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.如果要设置多个参数,则可采用以下方式:

curl -X POST http://10.129.11.76:8080/view/stargate-engine/job/test/buildWithParameters --user admin:d6fdce729f7aa4485816844c8e544ab9 -d "service_name=stargate-portal&container_name=stargate_portal_ct"


阅读全文
0 0
原创粉丝点击