有时候我们需要在一台服务器的jenkins上远程操作另一台服务器的jenkins进行构建
需求的背景:公司jenkins服务器是一台windows电脑(A),不能进行flutter项目的iOS项目部分的打包,所以在另一台windows电脑(B)上装了macOS虚拟机,并安装jenkins进行自动化打包,最后实现让A的jenkins远程控制B的jenkins进行打包
具体的做法:
1、A和B的jenkins都需要安装插件Parameterized Remote Trigger Plugin
2、配置
B:任务配置
①新建任务-freestyle,名称例如witParkingIOS,选择参数化构建过程(This project is parameterized),继续选择字符参数(String Parameter)
名称随便起一个,例如BUILDKEYSFORIOS
默认值随便填,例如123ios456
描述随便
②构建触发器-触发远程构建
身份验证令牌随便填,例如123456
③系统管理-系统配置-Jenkins URL
设置本机ip+8080即可,例如http://100.100.100.100:8080/,这里可以让同事用别的电脑访问此地址,能够访问你的jenkins即可
A:任务配置
①系统管理-系统配置-Parameterized Remote Trigger Configuration
Display name填上文的BUILDKEYSFORIOS
Authentication选择Token Authentication
User Name填jenkins账号名
API Token填上文的身份验证令牌123456
Remote Jenkins URL填上文的Jenkins URL
②新建任务-freestyle,构建中选择Trigger a remote parameterized job,select a remote host这里可以选择到第一步配置的BUILDKEYSFORIOS
Job Info的Remoter Job Name or URL这里,填B的jenkins的对应任务的名称witParkingIOS
Token填上文的身份验证令牌123456
Parameters填BUILDKEYSFORIOS=123ios456
这样A的任务点击立即构建,即可自动调用B的abc任务构建