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

jenkins部署源代码到远程服务器,第1张

jenkins要想在远程服务器执行命令,发送文件等 *** 作,必然要处理jenkins与远程机的免交互问题。

下面如何让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任务构建


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11568664.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存