Mac下配置Jenkins + Grandle + Github

        貌似網上關於Jekins的配置資料不多,而Mac OS 上的資料更是少之又少,故此記錄下自己的配置過程,希望可以給後來人一點幫助,

在配置過程中遇到如下問題:

  1. pull代碼一直失敗
  2. jdk安裝錯誤(一直誤以爲自己安裝成功)
  3. jekens無法失敗出android sdk路徑問題
  4. jekens中gradle文件路徑配置錯誤
  5. gradle出現:Execution failed for task ':lint'.> Can't connect to window server - not enough permissions.問題
  6. 通過Copy方式創建的Project無法順利構建

參考資料:

http://blog.csdn.net/john_cdy/article/details/7738393

http://www.cnblogs.com/dubing/p/3628851.html

http://my.oschina.net/uboluo/blog/157483

https://wiki.jenkins-ci.org/display/JENKINS/Building+an+Android+app+and+test+project  (Jekins官方文檔)


安裝是比較簡單的過程,參考上面的第一篇文章就能搞定。

下面挨着記錄下遇到的問題和解決方案

問題1:

using .gitcredentials to set credentials
ERROR: Timeout after 10 minutes
FATAL: Failed to fetch from https://github.com/PGWireless/Camera360-Android-5.0
hudson.plugins.git.GitException: Failed to fetch from https://github.com/PGWireless/Camera360-Android-5.0
	at hudson.plugins.git.GitSCM.fetchFrom(GitSCM.java:623)
	at hudson.plugins.git.GitSCM.retrieveChanges(GitSCM.java:855)
	at hudson.plugins.git.GitSCM.checkout(GitSCM.java:880)
	at hudson.model.AbstractProject.checkout(AbstractProject.java:1251)
	at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:605)
	at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:88)
	at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:514)
	at hudson.model.Run.execute(Run.java:1703)
	at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
	at hudson.model.ResourceController.execute(ResourceController.java:88)
	at hudson.model.Executor.run(Executor.java:231)
Caused by: hudson.plugins.git.GitException: Command "git fetch --tags --progress https://github.com/PGWireless/Camera360-Android-5.0 
百思不得其解,後來折騰了很久終於找到了第二個鏈接的文章:《windows下jenkins常見問題填坑》

原文如下:

github私有項目,主要也就是ssh授權的問題,這裏的坑不是權限認證問題,而是github插件的時限問題,默認是10分鐘,由於某些項目可能資源比較大,第一次pull的時候耗費時間比較長,但是控制檯提示一直停留在認證那個階段,讓操作人員誤以爲是認證問題,這個估計也算個坑吧。填坑方法如下圖:



非常感謝原文作者的幫助,解決了這個問題。其實自己是有猜想到這方面原因的,但是一直找不到怎麼修改outtime的設置。


問題2:

問題表現:在Console Output中出現如下異常:

ERROR: JAVA_HOME is set to an invalid directory:
> /Users/Shared/Jenkins/Home/tools/hudson.model.JDK/jd6ku45

解決辦法:

不採用官方文檔的安裝方式,取消“Install automatically”複選框,在JAVA_HOME裏配置上JDK的絕對路徑。

        這個問題是比較鬱悶的,安裝JDK是完全按照官方文檔進行的,但是不知道爲什麼jekins沒有正確安裝JDK而且沒有報錯在這個問題上卡很久,後來終於在Build history 的Console Output中看到錯誤提示 :ERROR: JAVA_HOME is set to an invalid directory: /Users/Shared/Jenkins/Home/tools/hudson.model.JDK/jd6ku45,知道問題是找不到JDK。所以說一定要多看Console Output的信息

問題3和問題4:

問題原因和解決辦法如上,細節有差別,看看Console Output的信息一眼就明白了


問題5:

           Mac上的問題,我找了很多文章,嘗試了一些方法,都沒有解決,不過由於我們真正的CI服務器是Ubuntu系統,在Ubuntu上搭建Jenkins是沒有遇到這個問題的。 
           最後終於找到原因,這是JDK在MAC上的一個bug,升級到最新的jdk就行了。    (2014.05.18)
           http://stackoverflow.com/questions/17951274/sonar-throws-in-headless-environment-on-a-mac

問題6:

          問題表現:代碼始終pull失敗;
          解決辦法:重新創建並配置這個新的Project即可
          問題背景:是想偷懶提高效率的,原計劃是copy之前的工程,修改下代碼倉的URL就好了,結果直接無法拉去代碼。
          問題分析:考慮到可能是copy導致問題的時候,就立即copy了一個一模一樣的test Project(很小,只有不到100k),只是換了一個名字,果然問題也出現了。
          跟進處理: 後來升級到最新的Jenkins就沒有這個問題了

這片文章不再update了,因爲服務器採用Ubuntu。





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章