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的用户配置目录。
此处使用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= &
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迁移升级简述的更多相关文章
- maven私库nexus2.11.4迁移升级到nexus3.12.0
nexus简介 nexus是一个强大的maven仓库管理器,它极大的简化了本地内部仓库的维护和外部仓库的访问. nexus是一套开箱即用的系统不需要数据库,它使用文件系统加Lucene来组织数据 .n ...
- maven私库nexus2.3.0-04迁移升级到nexus-3.16.1-02(异机迁移备份)
环境信息: nexus2.3.0-04安装在32位Windows server 2003系统上 安装位置信息如下: 仓库迁移 Nexus的构件仓库都保存在sonatype-work目录中,nexus2 ...
- [linux]jenkins迁移 标签: linux服务器 2016-08-28 21:29 988人阅读 评论(20)
我们的测试的jenkins和开发的jenkins 是分开的两个jenkins,然后测试的jenkins很久没有用,我们打算把主节点搬到另外一条服务器上面,然后出了一系列的问题,如下: 一.安装jenk ...
- Jenkins迁移job
说明:从一个Jenkins服务器A将现有job迁移到另外一个Jenkins服务器B. 方法:You can copy or move build jobs between instances of p ...
- Git系列七之备份迁移 升级 恢复管理
0.Gitlab安装 1.安装和配置必要的依赖关系在CentOS7,下面的命令将在系统防火墙打开HTTP和SSH访问. yum install curl openssh-server postfix ...
- jenkins之升级
首先查看系统war包放置的位置 rpm -ql jenkins 下载一个war包 下载地址 https://mirrors.tuna.tsinghua.edu.cn/jenkins/war/2.61/ ...
- MySQL迁移升级解决方案
任务背景 由于现有业务架构已不能满足当前业务需求,在保证数据完整的前提下,现需要将原有数据库迁移到另外一台单独的服务器上,在保证原有服务正常的情况下,将原有LAMP环境中mysql数据库版本5.6.3 ...
- Jenkins修改升级配置
更换升级配置如下: http://mirror.esuni.jp/jenkins/updates/update-center.json
- jenkins 迁移后 提示 反向代理设置有误
jenkins报:反向代理设置有误-布布扣-bubuko.comhttp://www.bubuko.com/infodetail-2038758.html [Linux][Jenkins]系统配置报反 ...
随机推荐
- 基于Python自动上传包到nexus仓库
1.设计思路 用户通过excel表格的形式填写包的信息,并将包一起发送给负责人 2.代码实现 #coding:utf8 import os import xlrd def GetData(fileNa ...
- sql语句之表间字段值复制遇到的一些问题--基于mysql
好久没来园子了,转眼2017已经到3月份了,前段时间一直忙没时间写博客(其实是自己懒),感觉内心好惭愧.昨天临下班前,技术老大突然对我说要改下表结构,问我能不能实现将一个表的字段值复制到另外一个表的某 ...
- 【Python实践-7】输出100以内的所有素数
#输出100以内的所有素数,素数之间以一个空格区分(注意,最后一个数字之后不能有空格). i= l=[] : k= ,i): : k=k+ : l.append(i) i=i+ print(" ...
- 20155304《网络对抗》MSF基础应用
20155304<网络对抗>MSF基础应用 实践内容 本实践目标是掌握metasploit的基本应用方式,重点常用的三种攻击方式的思路.具体需要完成: 1.1一个主动攻击实践,如ms08_ ...
- 20155323刘威良《网络对抗》Exp5 MSF基础应用
20155323刘威良<网络对抗>Exp5 MSF基础应用 实践内容 本实践目标是掌握metasploit的基本应用方式,重点常用的三种攻击方式的思路.具体需要完成: 1.1一个主动攻击实 ...
- python中的-1
-1单个使用时表示最后一个: >>> [1,2,3,4][-1] 4 表示范围(区间)时,因为是开区间表示方法,如[0:2]是不包括2的所以 [0:-1]只能访问到倒数第二个(不包括 ...
- json-server+mockjs 模拟REST接口
前言: 项目开发中,影响项目进程的常常是由于在前后端数据交互的开发流程中停滞,前端完成静态页面的开发后,后端迟迟未给到接口.而现在,我们就可以通过根据后端接口字段,建立一个REST风格的API接口,进 ...
- STM8S——8位基本定时器(TIM4)
简介:该定时器由一个带可编程预分频器的8位自动重载的向上计数器所组成,它可以用来作为时基发生器,具有溢出中断功能. 主要功能: (1)8位向上计数的自动重载计数器: (2)3位可编程的预分配器(可在运 ...
- Jq_网站顶部定时折叠广告
<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head><titl ...
- WebGL模型拾取——射线法二
这篇文章是对射线法raycaster的补充,上一篇文章主要讲的是raycaster射线法拾取模型的原理,而这篇文章着重讲使用射线法要注意的地方.首先我们来看下图. 我来解释一下上图中的originTr ...