Jenkins升级与迁移的经验分享
文章发布较早,内容可能过时,阅读注意甄别。
# 1,升级。
Jenkins 的版本方面,分有稳定版和开发版两大类,其中开发版是每周更新一个版本,稳定版则是每三个月在开发版当中选取一个版本进行更新。
一般企业当中使用的是稳定版,在一定时间跟随更新版本,也非常必要。
更新其实也非常简单,下载新版本的 war 包,将旧版本的包替换即可。
如果不够放心,可以将老版本的 war 包以及 JENKINS_HOME 目录进行备份,然后再升级。
14-Jan-2019 10:36:20.800 INFO [pool-6-thread-2] jenkins.InitReactorRunner$1.onAttained Started initialization
14-Jan-2019 10:36:20.826 INFO [Loading bundled plugins] hudson.PluginManager.loadDetachedPlugins Upgrading Jenkins. The last running version was 2.100. This Jenkins is version 2.157.
14-Jan-2019 10:36:21.382 INFO [Loading bundled plugins] hudson.PluginManager.loadDetachedPlugins Upgraded Jenkins from version 2.100 to version 2.157. Loaded detached plugins (and dependencies): [jdk-tool.hpi]
14-Jan-2019 10:36:30.717 INFO [pool-6-thread-1] jenkins.InitReactorRunner$1.onAttained Listed all plugins
14-Jan-2019 10:36:34.235 INFO [Loading plugin Keychains and Provisioning Profiles Management v1.0.0 (kpp-management-plugin)] com.sic.plugins.kpp.KPPPlugin.start starting kpp plugin
14-Jan-2019 10:36:35.348 INFO [Loading plugin AnsiColor v0.5.2 (ansicolor)] hudson.plugins.ansicolor.PluginImpl.start AnsiColor: eliminating boring output (https://github.com/jenkinsci/ansicolor-plugin)
14-Jan-2019 10:36:35.377 INFO [Loading plugin Gerrit Trigger v2.28.0 (gerrit-trigger)] com.sonyericsson.hudson.plugins.gerrit.trigger.PluginImpl.start Starting Gerrit-Trigger Plugin
14-Jan-2019 10:36:35.468 INFO [Loading plugin Gerrit Trigger v2.28.0 (gerrit-trigger)] com.sonymobile.tools.gerrit.gerritevents.GerritSendCommandQueue.startQueue SendQueue started! Current pool size: 1
14-Jan-2019 10:36:44.591 INFO [pool-6-thread-1] jenkins.InitReactorRunner$1.onAttained Prepared all plugins
14-Jan-2019 10:36:44.676 INFO [Initializing plugin gerrit-trigger] com.sonyericsson.hudson.plugins.gerrit.trigger.replication.ReplicationCache.initialize initialized replication cache with expiration in MINUTES: 360
14-Jan-2019 10:36:44.676 WARNING [Initializing plugin gerrit-trigger] com.sonyericsson.hudson.plugins.gerrit.trigger.replication.ReplicationQueueTaskDispatcher.<init> No GerritHandler was specified, won't register as event listener, so no function.
14-Jan-2019 10:36:45.167 INFO [pool-6-thread-2] jenkins.InitReactorRunner$1.onAttained Started all plugins
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
这段日志很细致的记录了整个升级过程的一些经历!
注意,我的这个升级操作,是基于2.x往2.x升级的实验,并没有试验过1.x往2.x的升级,可能会出现不可预知的问题。
# 2,迁移。
迁移相对于升级,会有更多的挑战,这些挑战,只有经历之后,才能拥有这部分的经验,这才真真正正与打怪升级一般,如果你从来没有做过迁移,可能直接将所有东西一股脑同步过去,就算迁移了,事实上,这里边还是有一些技巧的。
比如这两天我完成了一次老服务器的迁移,就经历了这个过程。
因为太久了,项目已经一百三四十个,所以整个.jenkins
目录已经达到了 50G,我的迁移过程就是,苦苦打包,又苦苦传输,再苦苦解压之后,终于得以启用。
后来整个迁移好了之后,我在旧的上边做起试验来,试验内容就是:
1,先把整个 wordspace(将近 34G)目录删除,看看有哪些影响。
删除之后,发现项目都还在,只不过构建历史里边的内容都没有了。
2,再把整个 jobs(将近 16G)目录删除,看看有哪些影响。
删除之后,发现项目都还在,似乎没有什么影响。
而经过这样一波操作之后,剩下的,就差不多 1G 左右,这样以来,迁移工作就马上变得轻松简单起来了!
上次更新: 2024/11/28, 21:21:13