介绍:jenkins是一个开源软件项目,旨在提供一个开放易用的软件平台。Jenkins基于Java开发的一种持续集成工具,这个工具的作用就是调用各种其他的工具来达成你的目的。比如你要获取Subversion上最新的源代码,Jenkins会去调用SVNKIT(插件的核心Jar的名称)。然后你需要编译源代码(假设是用maven编译),Jenkins会去调用maven的插件。最后你可能需要发布程序到服务器上(假设是使用的Tomcat提供服务),你可以通过Tomcat自己的API发布程序(有个插件就是通过这个功能实现的发布),你也可以通过ssh通道自己写shell脚本去实现。
1. 应该选择哪个版本的Jenkins? 如果是公司正式使用推荐长期支持版(LTS),原因:稳定。
2. JDK应该安装哪个版本的? 推荐安装JDK7,原因:某些插件必须要求JDK7的支持。比如:Monitoring 插件
3. Tomcat应该用哪个版本的? Tomcat6或者7都可以。
4. 可以直接用命令启动么? 命令:Java –jar jenkins.war –httpsPort=8443 –httpPort=-1
httpsPort是访问的端口,httpPort=-1代表关闭http访问方式启用https。
5. Jenkins的svn插件无法获取到最新的源代码? 请检查你的SVN服务器时间和Jenkins服务器时间是否同步。
6. 如何查找JENKINS_HOME目录? 大部分默认情况,JENKINS_HOME都是存放在用户目录的.jenkins。
7. 可以直接修改JENKINS_HOME的文件么? 可以,修改后请重启Jenkins。否则配置不会生效。
8.jenkins 可以通过subversion插件完成与svn的集成,本来这个插件的使用没有什么难度,但是在最近的项目中却遇到如下一些问题:
1. svn中有中文目录,导致jenkins页面出现乱码或者找不到库。
2. 使用jenkins的时候会去不存在版本库中取文件,导致报错。
第一个问题是由于编码问题,首先要更改容器的字符集编码如更改tomcat中server.xml的connector的URIEncoding='utf-8'。
|
其次应该更改浏览器中字符集编码如更改chrome或者firefox中的字符集编码格式,由于svn服务器的字符集编码默认为utf-8,所以务必使这三者的字符集编码保持一致。当然最佳的方案是不要在svn中建立中文目录,一律使用英文,中文处理起来非常不方便。
关于第二个问题就更奇葩了,配置好svn后执行jenkins job构建信息始终是:
|
但是当前的版本库根本不是‘5842’而是‘6874’,这让人非常纳闷,jenkins为什么会去这个库取文件,网上查找的:
|
由于jenkins所在的服务器系统时间和svn服务器的系统时间根本不一致,导致出错,更改完jenkins服务器时间后就解决了此问题。
现在还不能确定jenkins是否通过系统时间去计算svn服务器revision版本。