一个jenkins远程操作另一个jenkins进行构建

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一个jenkins远程操作另一个jenkins进行构建相关的知识,希望对你有一定的参考价值。

参考技术A 有时候我们需要在一台服务器的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任务构建

如何从另一个jenkins(本地)调用1个jenkins(远程jenkins)中配置的作业

我有2个Jenkins,1个是本地Jenkins(在我的笔记本电脑上安装),另一个Jenkins是在远程VM中设置的

我在远程Jenkins上配置了1个作业。现在我想在我的本地Jenkins上创建一个作业,它应该调用远程Jenkins中配置的作业。

我不知道如何实现这一目标。请帮助我

答案

检查https://wiki.jenkins.io/display/JENKINS/Remote+access+API

没有参数的工作

您只需要在JENKINS_URL / job / JOBNAME / build?token = TOKEN上执行HTTP POST,其中在作业配置中设置了TOKEN。

以上是关于一个jenkins远程操作另一个jenkins进行构建的主要内容,如果未能解决你的问题,请参考以下文章

将扩展选择参数值从一个作业传递到 Jenkins 管道中的另一个远程作业

Linux配置SSH公钥认证与Jenkins远程登录进行自动发布

Jenkin配置执行远程shell命令

jenkins发布项目到远程主机上,配置两台linux如何使用SSH免密码登录

jenkins中重启tomcat失败操作

jenkins部署源代码到远程服务器