jenkins常見問題

介紹:jenkins是一個開源軟件項目,旨在提供一個開放易用的軟件平臺。Jenkins基於Java開發的一種持續集成工具,這個工具的做用就是調用各類其餘的工具來達成你的目的。好比你要獲取Subversion上最新的源代碼,Jenkins會去調用SVNKIT(插件的核心Jar的名稱)。而後你須要編譯源代碼(假設是用maven編譯),Jenkins會去調用maven的插件。最後你可能須要發佈程序到服務器上(假設是使用的Tomcat提供服務),你能夠經過Tomcat本身的API發佈程序(有個插件就是經過這個功能實現的發佈),你也能夠經過ssh通道本身寫shell腳本去實現。chrome

1. 應該選擇哪一個版本的Jenkins? 若是是公司正式使用推薦長期支持版(LTS),緣由:穩定。shell

2. JDK應該安裝哪一個版本的? 推薦安裝JDK7,緣由:某些插件必需要求JDK7的支持。好比:Monitoring 插件瀏覽器

3. Tomcat應該用哪一個版本的? Tomcat6或者7均可以。tomcat

4.  能夠直接用命令啓動麼?  命令:Java –jar jenkins.war –httpsPort=8443 –httpPort=-1 服務器

 httpsPort是訪問的端口,httpPort=-1表明關閉http訪問方式啓用https。ssh

5. Jenkins的svn插件沒法獲取到最新的源代碼? 請檢查你的SVN服務器時間和Jenkins服務器時間是否同步。electron

6. 如何查找JENKINS_HOME目錄? 大部分默認狀況,JENKINS_HOME都是存放在用戶目錄的.jenkins。maven

7. 能夠直接修改JENKINS_HOME的文件麼? 能夠,修改後請重啓Jenkins。不然配置不會生效。svn

8.jenkins 能夠經過subversion插件完成與svn的集成,原本這個插件的使用沒有什麼難度,可是在最近的項目中卻遇到以下一些問題:工具

1. svn中有中文目錄,致使jenkins頁面出現亂碼或者找不到庫。

2. 使用jenkins的時候會去不存在版本庫中取文件,致使報錯。

第一個問題是因爲編碼問題,首先要更改容器的字符集編碼如更改tomcat中server.xml的connector的URIEncoding='utf-8'。

<Connector port="8080" protocol="HTTP/1.1"

               connectionTimeout="20000"

               redirectPort="8443" URIEncoding='utf-8' />

其次應該更改瀏覽器中字符集編碼如更改chrome或者firefox中的字符集編碼格式,因爲svn服務器的字符集編碼默認爲utf-8,因此務必使這三者的字符集編碼保持一致。固然最佳的方案是不要在svn中創建中文目錄,一概使用英文,中文處理起來很是不方便。

關於第二個問題就更奇葩了,配置好svn後執行jenkins job構建信息始終是:

org.tmatesoft.svn.core.SVNException: svn: E195012: Unable to find repository location for 'svn://se-repo.twi1.electronics.ruag.com/repos/exconbasis/tags/Release4.1/4.1.2.8' in revision '5'842'

 可是當前的版本庫根本不是‘5842’而是‘6874’,這讓人很是納悶,jenkins爲何會去這個庫取文件,網上查找的:

when was the branch created? I'm guessing the error message may actually be

correct (that path did not exist at revision 12430), and the problem here is why

is it trying that revision?

can you check the clock difference between hudson server and svn server?  

因爲jenkins所在的服務器系統時間和svn服務器的系統時間根本不一致,致使出錯,更改完jenkins服務器時間後就解決了此問題。

如今還不能肯定jenkins是否經過系統時間去計算svn服務器revision版本。

相關文章
相關標籤/搜索