jenkins远程触发

背景:

脚本触发远程jenkins上的任务,无法实现jenkins slave模式;

因为构建过程中有文件参数,所以Parameterized Remote Trigger 插件也不适用,尝试了几种方式都无法实现。

最终查到有人通过模拟浏览器数据提交实现相同功能,命令如下:

通过curl提交post请求:

curl -u 'test:test' -XPOST 'http://12.12.13.13:6443/jenkins/job/test-post-triger/build/' \
--form attachedfile=@./123.txt \  #文件参数
--form json='{"parameter": [{"name":"abc", "file":"attachedfile"}]}'   #参数化构建过中的参数

只查到这样一条命令,尝试过程中遇到不少问题,好不容易调通了,结果远端jenkins的防火墙把.jar结尾的文件给过滤了,导致触发一直失败。

最终成功,但对“attachedfile”这个关键字不太理解,不太清楚是固定格式还是可以自定义,于是在浏览器里提交构建后抓了一下浏览器提交的data,如下:

文字内容如下:

{"parameter": [{"name": "package", "file": "file0"}, {"name": "hosts", "value": "192.168.1.141:192.168.1.82"}], "statusCode": "303", "redirectTo": ".", "Jenkins-Crumb": ["931f889ad5c5ef028fbb9005f5dbb3b67d293c3fcc1f895113fb25d8431fc8cb", "931f889ad5c5ef028fbb9005f5dbb3b67d293c3fcc1f895113fb25d8431fc8cb"]}

从上面的内容可以看出来,这个“attachedfile”为自定义变量,目的在于把文件内容传递到"parameter"参数结构中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值