概要:

原来使用的jenkins版本为1.6,现在需要升级为最新版2.3.6

由于在内网,不能使用jenkins自带的在线升级工具

升级思路:

由于版本跨度太大,直接copy jenkins目录,启动最新版本jenkins war包的方式已经不兼容:jenkins任务显示不全

思索再三,只能 1.重新搭一套最新的jenkins版本,同时为最新版jenkins下载适配原来jenkins所使用的插件 2.进行jenkins的数据迁移

1.离线下载所有用到的最新版jenkins插件

通过参考官网文档:https://www.jenkins.io/doc/book/installing/offline/

得知插件离线下载工具:plugin-installation-manager-tool

离线下载插件使用说明参考:https://github.com/jenkinsci/plugin-installation-manager-tool

在外网搭建插件下载工具环境(jdk,最新jenkins war包,插件下载工具)

编辑插件下载工具文档:把原来jenkins plugins目录下所有的文件名导出,整理

注:有些插件名字可能有出入导致下载失败

确定插件名称可以在官网插件页面搜索相关插件:https://plugins.jenkins.io/

可以下载下来并解压,查看实际插件名称

ant
antisamy-markup-formatter
batch-task
credentials
cvs
external-monitor-job
javadoc
junit
ldap
mailer
matrix-auth
matrix-project
maven-plugin
pam-auth
powershell
publish-over-ftp
publish-over-ssh
rebuild
role-strategy
script-security
ssh-credentials
ssh-slaves
subversion
translation
view-job-filters
windows-slaves

插件下载清单文档编辑完,开始执行命令下载

/your/path/to/java -jar jenkins-plugin-manager-*.jar --war /your/path/to/jenkins.war --plugin-file /your/path/to/plugins.txt

到这步最新版jenkins插件下载完成

2.备份老jenkins迁移文件

到老jenkins的数据目录 JENKINS_HOME 下依次备份:

jobs                  (任务)

users               (用户)

config.xml        (视图,子节的等)

nodes               (运行节点)

jenkins.plugins.publish_over_ssh.BapSshPublisherPlugin.xml          (ssh发布插件配置文件)

jenkins.plugins.publish_over_ftp.BapFtpPublisherPlugin.xml              (ftp发布插件配置文件)

jenkins.model.JenkinsLocationConfiguration.xml                                  (IP配置文件,此文件在jenkins初始化时会指定当前ip为jenkins ip)

3.初始化新版jenkins

按照官方文档操作:https://www.jenkins.io/doc/book/installing/offline/

把最新版jenkins war包拷贝至内网机器指定目录下

执行启动命令nohup /your/path/to/java   -DJENKINS_HOME=/your/path/to/jenkins_data -jar /your/path/to/jenkins.war --httpPort=10086 > out.log 2>&1 &

此命令可以保存为 jenkinsStart.sh脚本

注:-DJENKINS_HOME参数必须在 -jar 前面才有效

按照上面文档说明初始化jenkins

4.拷贝数据至新JENKINS_HOME 目录

拷贝初始化完毕的JENKINS_HOME  jenkins_data目录 为 jenkins_data_new

在 jenkins_data_new目录里,用上面备份完的jenkins文件替换掉相关文件夹,并把所下载的所有插件放入plugins文件夹

修改启动命令为nohup /your/path/to/java   -DJENKINS_HOME=/your/path/to/jenkins_data_new -jar /your/path/to/jenkins.war --httpPort=10086 > out.log 2>&1 &

使用原来jenkins的管理账号登陆jenkins,查看任务是否正常

5.检查jenkins,并完善相关配置

经过检查:

1.发现 ssh主机密码不能识别,需要逐个修改

2.已经配置的jenkins_slave节点需要重新配置连接

以上处理完毕,jenkins测试一切正常,升级完成

 

内网jenkins跨版本升级的更多相关文章

  1. Bitbucket 触发内网 Jenkins Build

    为了保证安全性多数的持续集成系统都会部署在公司内部的局域网中,这样如果代码部署在 Bitbucket 等环境中就只能通过轮询的方式来触发 Build.那么有没有办法通过 Bitbucket 的 Web ...

  2. 内网jenkins如何配置gitlab自动拉取代码打包

    在全局工具配置中添加git安装目录的配置 http://10.2.1.92:8080/jenkins/configureTools/git1.8.3.1/usr/bin/git 打开系统设置配置git ...

  3. tigerVNC远程桌面,跨内网

    tigerVNC的简单使用教程(CentOS的远程桌面连接) 1.环境和软件准备 (1) CentOS 6.5下 [root@localhost ~]$ yum install tigervnc (2 ...

  4. 利用公网Msf+MS17010跨网段攻击内网

    其实很多小白在对利用msf进行ms17010攻击的时候总是不成功,其实这都是因为网上大部分的文章都是写的内网对内网(192.168.1.2-->192.168.1.3)这样的案例,今天写了一下利 ...

  5. 内网公告牌获取天气信息解决方案(C# WebForm)

    需求:内网公告牌能够正确显示未来三天的天气信息 本文关键字:C#/WebForm/Web定时任务/Ajax跨域 规划: 1.天定时读取百度接口获取天气信息并存储至Txt文档: 2.示牌开启时请求Web ...

  6. Ceph万兆内网与系统万兆迁移

    本文将总结一次为Ceph集群加装万兆内网(cluster network),后因需要对比实验来研究分布式存储集群在计算,网络,存储过程中各部分耗时比例,而将Ceph整体系统又整体搬移至万兆网的过程.但 ...

  7. 【转】Syncthing – 数据同步利器---自己的网盘,详细安装配置指南,内网使用,发现服务器配置

    Syncthing – 数据同步利器---自己的网盘,详细安装配置指南,内网使用,发现服务器配置 原贴:https://www.cnblogs.com/jackadam/p/8568833.html ...

  8. Syncthing – 数据同步利器---自己的网盘,详细安装配置指南,内网使用,发现服务器配置

    简介: 无论办公.文件共享.团队协作还是家庭照片.视频.音乐.高清电影的存储,我们常常都有文件同步和存储的需求.但随着国内各大网盘的花式阵亡或限速,早已没什么好选择了.好吧,我已经转战使用onedri ...

  9. NAT ------ 内网的主机如何通过路由器与外网的主机通信

    内网主机A,路由器B,外网主机C 使用了两个协议: 路由:位于网络层,为数据包提供一个寻径的算法,不改变数据包的源IP和目的IP,但是会修改源MAC和目的MAC,只在同个网段的进行数据的转发 NAT: ...

  10. IT公司常见的内网漏洞表格

    访问控制类漏洞与隐患 这一类漏洞与隐患属于访问控制与身份鉴别问题,一般有没有配置访问控制.访问控制弱(弱口令或者空口令),身份鉴别可以绕过等问题 漏洞协议组件 漏洞类型 漏洞评级 SSH 弱口令 严重 ...

随机推荐

  1. 小米手机MIUI12获取hci.log的方法记录

    按照之前的方式,开发者选项打开获取蓝牙HCI的log开关,但是在本地一直找不到log. 在网上查了很久资料,终于找到有用的方法了.记录一下. 感谢大佬 https://www.jianshu.com/ ...

  2. Python切换中英文输入法

    要实现中英文切换,首先Windows系统必须要有中文语言和英文语言,才能实现输入法(语言)切换. import win32api import win32gui from win32con impor ...

  3. CSS3-animation实现走马灯效果

    动画animation 1.先定义动画: @keyframes 动画名称( from{} to{} ) 或者 @keyframes 动画名称( 0%{} 50%{} 100%{} ) 百分号指的是动画 ...

  4. Linux下查看服务器PCIE Slot槽位信息

    在linux系统下,可以使用"dmidecode –t 9"或者"dmidecode –t slot"命令查看PCIE Slot的信息,如下图所示RH2288H ...

  5. How to use lspci, lsscsi, lsusb, and lsblk to get Linux system devices information

    There are many utilities available to check Linux system hardware information. Some commands report ...

  6. 管理名称空间资源(Kubernetes)

    管理名称空间资源 名称空间(Namespace)是Kubernetes集群级别的资源,用于将集群分隔为多个隔离的逻辑分区以配置给不同的用户.租户.环境或项目使用.例如,可以为development.q ...

  7. 3MP/5MPNetwork-Camera摄像头默认口令

    网络资产搜索: shodan: 找到5MP-Network-Carema 登陆:admin/a***n End!!!

  8. bzoj 4195

    并查集水题 离散化之后直接并查集合并,在不等时判断两者是否在同一个集合內即可 注意排序 贴代码: #include <cstdio> #include <cmath> #inc ...

  9. 出现SocketTimeoutException后一直无法在连接服务器

    在做接入sdk功能的时候,经常出现一个问题,内网向外网服务器建立连接并发送数据经常会报SocketTimeoutException这个错误,且一旦出现便大几率再也连不上了.修改之前的代码为: publ ...

  10. iOS学习十一之步进控制器UIStepper

    步进控制器也就是进行离散式数据调节的常用视图控件. 在viewDidLoad()方法中加入下面的方法,即可完成基本功能. override func viewDidLoad() { super.vie ...