当前位置: 首页 > news >正文

实现基于 Jenkins 的多服务器打包方案

实现基于 Jenkins 的多服务器打包方案

在实际项目中,我们经常会遇到需要将一个应用程序或服务部署到不同的服务器上的需求。而使用 Jenkins 可以很方便地自动化这个过程。

设置参数

首先,我们需要设置一些参数,以便在构建过程中指定要部署到哪个服务器上。在 Jenkins 中,我们可以使用参数化构建来实现这一点。具体步骤如下:

  1. 打开 Jenkins 控制台,并找到你要进行配置的项目。
  2. 点击 “配置” 进入项目配置页面。
  3. 在 “构建触发器” 部分,勾选 “This build is parameterized” 选项。
  4. 点击 “Add Parameter”,选择 “Choice Parameter”。
  5. 在 “Name” 字段输入参数名称,比如 “SERVER”。
  6. 在 “Choices” 字段中填写服务器名称列表,每个名称占一行。例如:
ServerA
ServerB
ServerC

在这里插入图片描述

  1. 点击 “保存” 保存配置。

配置服务器(如果已配置好可跳过此步骤)

接下来,我们需要对每个服务器进行配置,以便 Jenkins 能够与其进行通信并将构建结果部署到正确的服务器上。为了简化配置,我们可以使用 Jenkins 的凭据管理功能,将服务器的认证信息存储在 Jenkins 中。具体步骤如下:

  1. 在 Jenkins 控制台中,点击 “Jenkins” > “Manage Jenkins” > “Manage Credentials” 进入凭据管理页面。
  2. 点击 “Global credentials” > “Add Credentials”。
  3. 在 “Kind” 字段选择合适的凭据类型,比如 “Username with password”。
  4. 根据选定的凭据类型,填写服务器的认证信息,比如用户名和密码。
  5. 在 “ID” 字段输入一个唯一的标识符,以便后续在 Jenkins 配置中引用这些凭据。
  6. 点击 “OK” 保存凭据。

重复以上步骤,为每个服务器配置相应的凭据。

部署时选择参数部署

我们已经设置好了参数和服务器配置,现在可以开始使用它们来实现按需部署到不同服务器的功能了。具体步骤如下:

  1. 打开 Jenkins 控制台,并找到你要进行配置的项目。
  2. 点击 “配置” 进入项目配置页面。
  3. 新增一个ssh publishers
  4. 选择好对应的服务器及文件操作
  5. 最关键的是点开advance选项(如下图)

在这里插入图片描述
6. 将定义每一个服务器的label 为参数对应的值
在这里插入图片描述
7. 点击下一个advance(如下图)
在这里插入图片描述
8. 配置参数名称为之前设置的参数名SERVER

在这里插入图片描述
9. 保存

现在,当你触发构建时,Jenkins 将提示你选择要部署到哪个服务器上。选择相应的服务器后,Jenkins 将将选择的参数传递给构建脚本或命令,并执行相应的部署操作。

这样,我们就实现了基于 Jenkins 的多服务器打包方案。通过设置参数和配置服务器,我们可以在一个 Jenkins 项目中实现对不同服务器的定向部署。

http://www.lryc.cn/news/206141.html

相关文章:

  • 探索现代IT岗位:职业机遇的海洋
  • np.linspace精确度
  • GD32_定时器输入捕获波形频率
  • 单窗口单IP适合炉石传说游戏么?
  • win11安装docekr、docker-compose
  • Postman的简单使用
  • 信号继电器驱动芯片(led驱动芯片)
  • IDEA配置HTML和Thymeleaf热部署开发
  • Nginx动静分离
  • Spring中AOP详解
  • Unity DOTS系列之Filter Baking Output与Prefab In Baking核心分析
  • Matlab读写操作
  • Android 开发技巧:音乐播放器的后台处理【Service、Handler、MediaPlayer】
  • 使用Windows平台的Hyper-V虚拟机安装CentOS7的详细过程
  • 某马机房预约系统 C++项目(二) 完结
  • npm 安装到指定文件夹
  • 自建的离散傅里叶变换matlab程序实现及其与matlab自带函数比较举例
  • Vue图片路径问题(动态引入)
  • 项目部署Linux步骤
  • UG\NX二次开发 在资源栏(左侧面板)中添加按钮
  • Proteus仿真--量程自动切换数字电压表(仿真+程序)
  • ​如何使用ArcGIS Pro制作一张地形图
  • 人工智能三要数之算法Transformer
  • Java ThreadPoolExecutor 线程池
  • 网络协议--IP选路
  • 使用udevil自动挂载U盘或者USB移动硬盘
  • 学习笔记二十二:K8s控制器Replicaset
  • 2023-10-25 精神分析-领悟新技术的错误做法-持续数年的错误做法-记录与分析
  • Arrays 中的 asList()方法
  • 基于自动化工具autox.js的抢票(猫眼)