下面如何让jenkins与目标主机实现免交互。
系统管理-- 插件安装--搜索ssh --安装 Publish Over SSH
安装完成后,在jenkins端生成秘钥对(公钥id_rsa.pub 私钥id_rsa)
输入一次密码,以后就免密了。输入完可以用ssh 登陆试一下。
我们以最简单的一个例子来演示,部署一个Html页面到远程服务器的nginx网站目录下,实现页面上线。
首先,刚才jenkins配置ssh插件,注意填写远程服务器信息的那里的remote directory这个地方指的发送到远程服务器的哪个目录下。
在job配置中
上图的配置就是,将jenkins上的项目文件init.html发送到远端主机192.168.1.112的/var/www/html下
保存,退出。
远端主机的nginx配置:
点击构建。
结果:部署成功
例子比较简单,后期会更新java的部署过程。
通过 brew 安装 jenkins
通过 brew list jenkins 查看安装路径
jenkins 相关命令:
在浏览器输入 localhost:8080 就可以打开Jenkins的web界面了。
如果忘记了更改的端口号,可以查看下 homebrew.mxcl.jenkins.plist 文件,里面有端口号。更改 homebrew.mxcl.jenkins.plist 文件之后,记得 restart 一下。
如上图,在项目的 构建触发器 区域里面,有个 触发远程构建 选项。勾选之后,就会有一个 身份验证令牌 ,就是以后用的 token 了。
可能有些Jinkens下没有触发远程构建的选项,是因为需要先在 系统管理 -> Configure Gloal Security -> 打开【启用安全】选项 :
打开 启用安全 之后,配置一些选项,项目中就有 触发远程构建 了。
勾选 触发远程构建 ,下面会有几行解释说明:
我构建了两个项目如下:
没有参数: JENKINS_URL/job/TestAPI/build?token=TOKEN_NAME
通过命令行调用:
也可以直接在浏览器里面输入上面命令里面的 url 。
TestAPINoParams 为一个没有任何参数项目,如果有参数的话,就不能用上面的命令了。
通过命令行调用:
也可用 Postman 测试:
通过命令行:
通过 Postman :
比如说,我这里传的是 logo-1024.png 图片, API 调用成功后, jenkins 服务器上 /Users/xulong/Desktop/receiveFile/ 在这个路径下,就会有一个 receive.png 文件。
可以先用 Postman 调试成功,然后可以导出 curl 命令和其它命令。
有时候我们需要在一台服务器的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任务构建
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)