概要:

原来使用的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. tidb自动处理僵尸进程脚本

    [root@host-2 wj]# vi kill_tidb_zombie.sh #!/bin/bash source /etc/profile cat /dev/null > /tmp/sql ...

  2. curl 与 header 及 file_get_countents 访问内容时的区别

    在开发中 想用curl 或者是file_get_contents 模拟请求或者是获取数据时 ,经常会发现获取到的内容与想象中的不一样,主要原因在与这两个走得host要走外网,在内网及测试环境下host ...

  3. lvm 扩容操作

    lsblk查看sda分区信息: 查看vgroot大小: sda磁盘447G,vgroot用300G左右而已,如果分区vg不足,需要手动进行扩容操作: 1.  首先新建一个sda4分区: 默认的地方直接 ...

  4. 《CSOL大灾变》Mobile开发进度记录——武器购买界面设计

    又到了休息日,有点时间继续这个移植游戏的开发.这次主要是关于武器系统模块的开发记录,关于CS以及CSOL的武器系统,它的购买菜单页面虽然谈不上复杂,但是也包含很多GUI元素,下面是CSOL其中的一个武 ...

  5. Linux基础第六章:逻辑卷的使用、扩容和磁盘配额

    一.逻辑卷的使用及扩容 1.概念优点及注意事项 2.使用命令及基本格式 3.创建逻辑卷 ①创建物理卷 ②创建卷组 ③创建逻辑卷 ④格式化.挂载yk26逻辑卷在/mnt下并在逻辑卷yk26下创建文件a. ...

  6. Pytest Fixture(二)

    作用域 固件的作用是为了抽离出重复的工作和方便复用,为了更精细化控制固件(比如只想对数据库访问测试脚本使用自动连接关闭的固件),pytest 使用作用域来进行指定固件的使用范围. 在定义固件时,通过  ...

  7. Mac下安装lightgbm-image not found

    Error Message: : dlopen(/Users/{xxx}/anaconda3/lib/python3.6/site-packages/lightgbm/lib_lightgbm.so, ...

  8. NSSM 软件参数使用教程

    NSSM 一款可以自定义为软件安装守护进程的软件 NSSM: The non-sucking service manager Version 2.24-101-g897c7ad 64-bit, 201 ...

  9. Ajax 后台传值接收方法

    $.ajax({ method: 'post', //数据类型 url: 'service.ashx?method=PostFile', //传输页面和页面方法 dataType: "jso ...

  10. git 代码托管常用代码

    一.git全局账号登录 (1)全局登录账号和密码 git config --global user.name "xxx" git config --global user.emai ...