实现基于 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选项(如下图)
  1. 将定义每一个服务器的label 为参数对应的值

  2. 点击下一个advance(如下图)

  3. 配置参数名称为之前设置的参数名SERVER

  1. 保存

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

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

相关推荐
12点一刻5 小时前
搭建自动化工作流:探寻解放双手的有效方案(2)
运维·人工智能·自动化·deepseek
未来之窗软件服务5 小时前
东方仙盟AI数据中间件使用教程:开启数据交互与自动化应用新时代——仙盟创梦IDE
运维·人工智能·自动化·仙盟创梦ide·东方仙盟·阿雪技术观
ajassi20006 小时前
开源 python 应用 开发(三)python语法介绍
linux·python·开源·自动化
宇钶宇夕9 小时前
SIMATIC S7-1200的以太网通信能力:协议与资源详细解析
运维·服务器·数据库·程序人生·自动化
耀耀_很无聊11 小时前
[特殊字符] 05_Jenkins 部署前端项目实现自动化部署
前端·自动化·jenkins
Leinwin11 小时前
微软上线 Deep Research 预览版:o3+必应赋能研究自动化
运维·microsoft·自动化
Tomorrow'sThinker13 小时前
✍️ Python 批量设置 Word 文档多级字体样式(标题/正文/名称/小节)
python·自动化·word·excel
半导体守望者13 小时前
ADVANTEST R4131 SPECTRUM ANALYZER 光谱分析仪
经验分享·笔记·功能测试·自动化·制造
12点一刻17 小时前
搭建自动化工作流:探寻解放双手的有效方案(1)
运维·人工智能·自动化·deepseek
Hi2024021717 小时前
自动化Trae Apollo参数解释的批量获取
运维·自动化·trae