1、迁移背景
原有jenkins版本为2.32.2,由于需要安装git parameter插件,插件安装失败,依赖暂时无法解决,因此决定升级jenkins版本,升级版本为2.121.2。
 
2、jenkins数据存储文件列表:
config.xml:jenkins的全局权限配置以及其他配置文件
credentials.xml:jenkins的凭据配置文件,此处为git服务用户凭据配置文件;
jenkins.plugins.publish_over_ssh.BapSshPublisherPlugin.xml:jenkins的publish over ssh服务器配置文件;
jobs目录:jenkins jobs配置目录,包含job权限、git地址、打包方式等配置;
users目录:jenkins users用户目录,包含jenkins的用户配置目录。
 
3、jenkins升级操作:
jenkins下载地址:https://jenkins.io
此处使用war包进行升级,部署目录为/usr/local/jenkins,启动命令如下:
nohup java -Xms4096M -Xmx4096M -Dcom.sun.akuma.Daemon=daemonized -Djav.awt.headless=true -DJENKINS_HOME=/data/jenkins-2.121. -jar /usr/local/jenkins-2.121./jenkins.war \
--logfile=/usr/local/jenkins-2.121./jenkins.log --webroot=/usr/local/jenkins-2.121./war --daemon --httpPort= --debug= --handlerCountMax= --handlerCountMaxIdle= &
将原jenkins数据存储文件复制到升级之后的jenkins的家目录下,此处新jenkins家目录为:/data/jenkins-2.121.2。
复制完成之后,需要重启jenkins,相关配置才能生效。
 
4、jenkins常用插件列表:
在启动jenkins时,安装插件采用"推荐插件进行安装",则会默认安装一些常用插件,包含git、svn等相关插件。
需要额外安装的插件列表如下:
git parameter插件:为了方便开发参数化构建,指定分支进行构建。
phing插件:为了实现php代码打包。
publish over ssh插件:为了实现ssh远程分发代码包,同时执行解压等相关操作。
Extended Choice Parameter Plug-In插件:可以实现配置可选择的参数,同时将该参数作为全局变量进行使用。
Dynamic Extended Choice Parameter插件:设置动态参数

5、问题解决

安装完成jdk、gradle之后,在命令行输出$JAVA_HOME正确,但是在打包时候报错如下:

ERROR: JAVA_HOME is set to an invalid directory: /usr/local/jdk1..0_152
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation. 解决方案如下:
编辑gradle命令文件,在脚本的#!/usr/bin/env sh行下边新增一行:JAVA_HOME="/usr/local/java",指明JAVA_HOME目录。
在将相关文件复制到新的jenkins服务器上,启动完成之后,在打包项目的时候,发现控制台输出报以下错误:

ln builds/lastSuccessfulBuild /data/jenkins/jobs/javademo-v1/lastSuccessful failed
java.nio.file.DirectoryNotEmptyException: /data/jenkins/jobs/javademo-v1/lastSuccessful
at sun.nio.fs.UnixFileSystemProvider.implDelete(UnixFileSystemProvider.java:)
at sun.nio.fs.AbstractFileSystemProvider.deleteIfExists(AbstractFileSystemProvider.java:)
at java.nio.file.Files.deleteIfExists(Files.java:)
at hudson.Util.createSymlink(Util.java:)
at hudson.model.Run.createSymlink(Run.java:)
at hudson.model.Run.updateSymlinks(Run.java:)
at hudson.model.Run.execute(Run.java:)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:)
at hudson.model.ResourceController.execute(ResourceController.java:)
at hudson.model.Executor.run(Executor.java:)
ln builds/lastStableBuild /data/jenkins/jobs/javademo-v1/lastStable failed
java.nio.file.DirectoryNotEmptyException: /data/jenkins/jobs/javademo-v1/lastStable
at sun.nio.fs.UnixFileSystemProvider.implDelete(UnixFileSystemProvider.java:)
at sun.nio.fs.AbstractFileSystemProvider.deleteIfExists(AbstractFileSystemProvider.java:)
at java.nio.file.Files.deleteIfExists(Files.java:)
at hudson.Util.createSymlink(Util.java:)
at hudson.model.Run.createSymlink(Run.java:)
at hudson.model.Run.updateSymlinks(Run.java:)
at hudson.model.Run.execute(Run.java:)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:)
at hudson.model.ResourceController.execute(ResourceController.java:)
at hudson.model.Executor.run(Executor.java:) 解决方案:
  删除相关jobs目录下的lastStable、lastSuccessful文件夹,之后在构建时会重新创建软连接。此处假设jenkins数据目录为:/data/jenkins。在/data/jenkins/jobs目录下执行如下命令:
    find ./ -maxdepth 2 -type d -name "lastSuccessful" -exec rm -rf {} \;
    find ./ -maxdepth 2 -type d -name "lastStable" -exec rm -rf {} \;
  删除完成,再重新构建,发现报错消失。

jenkins迁移升级简述的更多相关文章

  1. maven私库nexus2.11.4迁移升级到nexus3.12.0

    nexus简介 nexus是一个强大的maven仓库管理器,它极大的简化了本地内部仓库的维护和外部仓库的访问. nexus是一套开箱即用的系统不需要数据库,它使用文件系统加Lucene来组织数据 .n ...

  2. maven私库nexus2.3.0-04迁移升级到nexus-3.16.1-02(异机迁移备份)

    环境信息: nexus2.3.0-04安装在32位Windows server 2003系统上 安装位置信息如下: 仓库迁移 Nexus的构件仓库都保存在sonatype-work目录中,nexus2 ...

  3. [linux]jenkins迁移 标签: linux服务器 2016-08-28 21:29 988人阅读 评论(20)

    我们的测试的jenkins和开发的jenkins 是分开的两个jenkins,然后测试的jenkins很久没有用,我们打算把主节点搬到另外一条服务器上面,然后出了一系列的问题,如下: 一.安装jenk ...

  4. Jenkins迁移job

    说明:从一个Jenkins服务器A将现有job迁移到另外一个Jenkins服务器B. 方法:You can copy or move build jobs between instances of p ...

  5. Git系列七之备份迁移 升级 恢复管理

    0.Gitlab安装 1.安装和配置必要的依赖关系在CentOS7,下面的命令将在系统防火墙打开HTTP和SSH访问. yum install curl openssh-server postfix ...

  6. jenkins之升级

    首先查看系统war包放置的位置 rpm -ql jenkins 下载一个war包 下载地址 https://mirrors.tuna.tsinghua.edu.cn/jenkins/war/2.61/ ...

  7. MySQL迁移升级解决方案

    任务背景 由于现有业务架构已不能满足当前业务需求,在保证数据完整的前提下,现需要将原有数据库迁移到另外一台单独的服务器上,在保证原有服务正常的情况下,将原有LAMP环境中mysql数据库版本5.6.3 ...

  8. Jenkins修改升级配置

    更换升级配置如下: http://mirror.esuni.jp/jenkins/updates/update-center.json

  9. jenkins 迁移后 提示 反向代理设置有误

    jenkins报:反向代理设置有误-布布扣-bubuko.comhttp://www.bubuko.com/infodetail-2038758.html [Linux][Jenkins]系统配置报反 ...

随机推荐

  1. 树莓派学习笔记(2):常用linux命令

    转载请注明:@小五义http://www.cnblogs.com/xiaowuyi 1.ls命令:列出文件目录的常用命令,主要参数见下表. -a 列出目录下的所有文件,包括以.开头的隐含文件. -b ...

  2. jqgrid 加入右键菜单按钮管理

    除了在表格底部添加自定义按钮外,还可以通过设置右键菜单按钮来添加自定义事件.看下图: 如何实现以上功能? 1)引入ContextMenu插件 2)创建一个函数用于初始化右键菜单(本示例取名为 init ...

  3. java 读取excel内容转为JSONArray

    需要引入的JAR     <!--*.xls--> <dependency> <groupId>net.sourceforge.jexcelapi</grou ...

  4. 算法篇(前序)——Java的集合

    菜鸟拙见,望请纠正:附上JDK参考文档(中文文档和英文文档):链接:https://pan.baidu.com/s/14KDmCtQxeGCViq7e0zENjA 密码:e9xs  以及算法篇全文链接 ...

  5. 关于docker构建镜像

    今天正好看到这一块了,记录一下,希望可以帮助到大家. 构建Dockerfile 先来看一个示例: --------------------------------------------------- ...

  6. IDEA创建Scala项目

    一.安装插件 见Scala入门篇 二.新建项目 选择new project,其中SBT相当于精简版的maven,其他的待补充.这里选择IDEA 填写信息,选择Scala SDK 在src目录下新建Sc ...

  7. 20155206赵飞 基于《Arm试验箱的国密算法应用》课程设计个人报告

    20155206赵飞 基于<Arm试验箱的国密算法应用>课程设计个人报告 课程设计中承担的任务 完成试验箱测试功能1,2,3 . 1:LED闪烁实验 一.实验目的  学习GPIO原理  ...

  8. ex6教程

    一.信息搜集 1.外围信息搜集 外围信息搜集又叫公开渠道信息搜集. 搜索引擎,公共信息库,目标门户网站等等都是很好的入手点. metasploit有一类"辅助模块",可以帮助你进行 ...

  9. libgdx学习记录12——圆角矩形CircleRect

    libgdx提供了ShapeRenderer这个工具,用它可以画点.画线.画圆.画矩形.画椭圆.画扇形,但是没有提供画圆角矩形的方法. 刚开始自己尝试分成8端,4端画直线,4端画扇形,发现多了半径几部 ...

  10. 【ORACLE】oracle11g单实例安装

    -- 上传安装包 p13390677_112040_Linux-x86-64_1of7.zip p13390677_112040_Linux-x86-64_2of7.zip -- 解压安装包 unzi ...