离线安装(升级)Jenkins和pipeline、multijob等插件【无痛版】

前言

  • 内网目前有一个jenkins,但是没有任何插件,已经创建并正常运行了很多freestyle project,将近40个,都是shell,每次构建项目都需要逐个去输入参数、点击构建,相关麻烦,并且有的项目间有前后依赖关系,有的需要串行,有的可以并行。基于目前现状,multijob插件是最好的选择。
  • 插件版本和Jenkins版本依赖关系很复杂,并且一个插件也依赖很多其他插件,所以不建议自己手动下载插件拿到内网,到时候缺这个少那个就头疼了。并且看了内网jenkins版本是2.346.1,版本有点旧,用新版,并把原来的项目迁移至新版。
  • 思路:
    • 先在外网(可以联网)的环境中下载一个指定版本的Jenkins,指定工作目录,安装运行,安装想要的插件。
    • 将新版jenkins和工作目录下的plugins完全拷贝到内网。
    • 先不要关停旧版本的jenkins,给新版jenkins指定其他工作目录和运行端口,将plugin拷贝到新版工作目录,启动新版。
    • 确保插件识别完成后,将旧版工作目录下的jobs拷贝至新版工作目录下,然后重启新版。
    • 新版和旧版进行任务比对,确保无误后,关停旧版和新版,再将新版运行在旧版之前的端口。
    • 至此,jenkins版本升级、插件安装、任务迁移都已完成。

1 外网操作

1.1 下载jenkins运行包

下载链接:https://get.jenkins.io/war-stable/

1.2 运行jenkins

bash 复制代码
# 指定工作目录
export JENKINS_HOME="/root/app/jenkins/2.528.3"
# 启动
nohup java -jar jenkins.2.528.3.war --httpPort=8008 > startup.log 2>&1 &

1.3 安装插件

1.4 打包插件

bash 复制代码
tar -czf jenkins-2.528.3-plugins-$(date +%Y%m%d).tar.gz plugins/*.jpi

2 内网操作

2.1 复制新版jenkins和插件到内网,指定新版工作目录

2.1 解压plugins到工作目录

bash 复制代码
tar -xzf jenkins-2.528.3-plugins-$(date +%Y%m%d).tar.gz plugins/*.jpi

2.2 复杂jobs目录到新版工作目录

其他步骤不再赘述

相关推荐
Elastic 中国社区官方博客3 天前
使用 Elasticsearch open inference API 对 OpenAI chat completions 进行支持
大数据·elasticsearch·搜索引擎·全文检索·jenkins
X1A0RAN5 天前
Jenkins Pipeline 变量打印指南
运维·servlet·jenkins
heimeiyingwang5 天前
【CI/CD·Jenkins篇】多节点构建:Agent 配置与任务分发策略
ci/cd·jenkins
heimeiyingwang5 天前
【CI/CD·Jenkins篇】环境搭建:从零部署 Jenkins 主从架构
ci/cd·jenkins
heimeiyingwang5 天前
【CI/CD·Jenkins篇】Pipeline 基础:Declarative 与 Scripted 语法详解
ci/cd·pipeline·jenkins
遨游DATA7 天前
Jenkins 修改 config.xml 后页面仍是旧配置:让 live job 配置真正生效
ci/cd·jenkins·devops·故障排查·config.xml
Dobby_057 天前
【CICD】Jenkins Pipeline 快速学习入门
运维·学习·jenkins
上海安当技术7 天前
统一身份认证平台怎么落地?11 个异构业务系统接入 ASP 的完整实施路径
数据库·servlet·架构·kubernetes·jenkins
回眸不遇8 天前
Elasticsearch嵌套类型nested使用指南
大数据·elasticsearch·jenkins
回眸不遇10 天前
类型的区别和应用场景 nested 每个对象独立存储为隐藏的子文档 适合存储数组 查询的时候有特定的语法 nested查询 且字段要 ...
运维·jenkins