3、Jenkins升级和迁移
一、Jenkins升级
Jenkins的开发迭代非常快,每周发布一个开发版本,长期支持版每半年更新一次(ps:大版本更新)。如此频繁的更新,怎么升级呢?
war:下载新版的war文件,替换旧版本war文件。重启即可。
二进制:卸载旧版本,安装新版本即可。
二、备份
首先找到JENKINS_HOME目录,该目录默认路径为安装用户的家目录下的隐藏文件.jenkins中。如果用root用户安装的,则路径为/root/.jenkins。只需要备份JENKINS_HOME目录即可。如果JENKINS_HOME路径更改过,则可以使用
echo $JENKINS_HOME命令来查看其路径。
三、迁移
原则上迁移也只需要以下几步操作:
在新的Jenkins服务器上安装配置好Jenkins(先不要启动Jenkins')
停掉老的Jenkins服务,并将老Jenkins服务器上的$JENKINS_HOME目录打包传到新的Jenkins服务器上$JENKINS_HOME目录下
启动新服务器上的Jenkins服务。
跑一个项目,测试迁移是否成功
由于每个公司Jenkins的配置不一样,所以在步骤a中配置也不一样。这里以我们公司Jinkensi环境为例,看看我们配置Jenkins需要做哪些事情。
A、安装配置ANT、MAVEN、JDK、Git这些工具。
Git需要先安装Git插件,在第二篇Jenkins配置中有说明。这里要强调的是新Jenkins服务器这几个工具的HOME目录路径最好和老Jenkins服务器一样,因为将老Jenkins服务器的数据导入到新的服务器上时,由于使用的老的配置,所以这几个工具的安装路径也会是老服务器上配置的路径。当然这个路径可以在Jenkins启动后去更改
B、拷贝settings.xml文件
在Jenkins服务器上随便运行一个mvn命令,例如#mvn -v,这样会在家目录下生成一个.m2的隐藏目录
drwxr-xr-x 3 root root 4096 Apr 20 12:45 .m2
然后将老的Jenkins服务器上的/root/.m2/settings.xml文件拷贝到新Jenkins服务器对应的目录下
C、安装nvm
执行以下命令安装,链接:https://github.com/creationix/nvm
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.31.0/install.sh | bash
or Wget:
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.31.0/install.sh | bash
D、Tomcat中server.xml配置
由于我老的Jenkins安装时在/usr/local/apache-tomcat-8.0.28/conf/server.xml 文件中创建了一个虚拟主机,所以新Jenkins服务器上最好保持一致,在server.xml文件中增加以下配置
</Host>
140 <Host name="jenkins.test.com" appBase="/app/jenkins"
141 unpackWARs="true" autoDeploy="true">
142 <Context path="" docBase="jenkins" debug="0" reloadable="true" />
143 </Host>
144 </Engine>
145 </Service>
146 </Server>
老Jenkins服务器上jenkins.war文件路径为/app/jenkins,所以新的服务器也应该一样。
E、更改JENKINS_HOME目录的路径
老Jenkins服务器上径路为/opt/jenkins,新Jenkins服务器配置时,也将JENKINS_HOME路径设置为/opt/jenkins目录。并且在
/etc/profile文件中export 该路径
export JAVA_HOME=/usr/java/jdk1.8.0_66
export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
export JENKINS_HOME=/opt/jenkins
export MAVEN_HOME=/usr/local/apache-maven-3.3.9
export ANT_HOME=/usr/local/apache-ant-1.9.7
export PATH=$PATH:$JAVA_HOME/bin:$ANT_HOME/bin:$MAVEN_HOME/bin
以上为Jenkins配置的所有步骤
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341