前言
前几天在噗浪上看到小铁大提到Travis CI可以将项目设定和原始码一起放在git上,
心血来潮想研究Jenkins的设定是否也进行版本控管,找到了这套PlugIn可以实现,
虽然它并不是将设定档案原始码放在同一个地方,而是另外存放一个Repository,
但也是让我们想测试Jenkins时更加的方便。
这套PlugIn是SCM Sync configuration plugin,它可以在每次修改完设定后,www.it165.net
自动将设定文件commit到版本控制系统中,并可以从版本控制系统还原Jenkins的设定文件,
如此一来,想要大胆的修改CI Server的危险性就降低了许多啰!
安装
进入Jenkins首页后,点选左边的管理Jenkins,再选择管理外挂程序

找到SCM Sync configuration plugin,勾選安裝並重啟Server

回到首页,点选管理Jenkins,选择设定系统

找到SCM Sync configuration,选择git,输入要存放的repository位置

点选储存,看到会跳出输入git commit讯息的窗口,输入讯息并送出

浏览版本控制系统,可以看到设定文件已经被push到上面 (以github为例)

如此一来我们设定就完成了,不论在修改Jenkins的设定或是项目的设定时,
设定文件都会自动被Commit到版本控制系统中。
透过版本控制系统还原
当我们安装完Jenkins之后,如果之前有使用SCM Sync configuration plugin的话,
也可以透过SCM Sync configuration plugin来还原我们的Jenkins。
首先我们先安装必须的PlugIn,例如git, msbuild...等

同安装步骤,一样到管理Jenkins设定git的位置, 并选择储存 (这边会等一下子)
重新进入管理Jenkins,点选Reload

我们可以看到更新的config如下,我们必须重新启动Jenkins来加载设定
(重新启动网址: http://localhost:8080/restart)

重新启动后,我们可以看到所有的设定都回来了,并可以成功的建置项目

加入Log档追踪问题
在第一次使用这个PlugIn的时候,由于流程不熟悉所以遇到了一些问题,
幸好可以透过Log的方式来厘清问题发生的原因,这边也向大家分享如何加上SCM sync的Log
到首页,点选管理Jenkins,选择系统纪录

点选新增纪录录制器

设定名称scmsyncconfiguration,设定录制器hudson.plugins.scmsyncconfiguration,选择all并储存

从此之后,我们可以在系统纪录看到同步的Log

结语
透过版本控制来管理Jenkins的设定,让我们在Jenkins的使用上更佳的灵活,
也方便我们做各种不同的尝试,并可以轻松地还原,
浙公网安备 33010602011771号