2017-01-19 76 views
3

我有一個簡單的基於clojure的web項目,它只是在資源文件夾中包含一些markdown文件。以前我用與leiningen和jenkins構建簡單的clojure webproject

cd my-project 
lein ring server 

運行它,然後我在http://localhost:port查看正在運行的項目在瀏覽器中。

現在,我想與詹金斯這個過程讓我

  • 在本地創建一個Clojure的項目
  • 添加leiningen支持整合(在Eclipse)我詹金斯(添加路徑leiningen-standalone.jar在配置)
  • 添加在詹金斯的工作配置
  • 使用詹金斯從SCM簽出並構建項目
構建步驟「使用leiningen建設工程」 0

但後來,詹金斯總是抱怨

> java -client -XX:+TieredCompilation 
> -Xbootclasspath/a:/home/.lein/self-installs/clojure-1.8.0.jar 
> -Dfile.encoding=UTF-8 
> -Dmaven.wagon.http.ssl.easy=false 
> -Dleiningen.original.pwd=/var/lib/jenkins/jobs/my-project/workspace 
> -cp /home/.lein/self-installs/clojure-1.8.0.jar clojure.main -m leiningen.core.main install 
> 
> Error: Could not find or load main class clojure.main 
> Build step 'Build project using leiningen' marked build as failure 

我認爲,詹金斯缺少clojure.jar,它不是將其安裝到存儲庫的.m2,所以我手動添加它來

/var/lib/jenkins/.m2/repository/org/clojure/clojure/1.8.0/clojure-1.8.0.jar 

但是這並沒有改變任何構建。

如何告訴jenkins在哪裏可以找到clojure.main?任何提示,我錯過了什麼?

+0

東西配置不正確。它應該是這樣的'... -cp /var/lib/jenkins/.lein/self-installs/leiningen-standalone.jar clojure.main -m leiningen.core.main uberjar'注意leiningen jar而不是clojure jar 。 – Scott

+0

你說得對。我用clojure瓶子而不是leiningen罐子來修理它。改變了這一點,並添加了uberjar任務。錯誤依然存在:'$ java -client -XX:+ TieredCompilation -Xbootclasspath/a:/home/.lein/self-installs/leiningen-2.6.1-standalone.jar -Dfile.encoding = UTF-8 -Dmaven.wagon .http.ssl.easy = false -Dleiningen.original.pwd =/var/lib/jenkins/jobs/leiningen-clojure-test/workspace -cp /home/.lein/self-installs/leiningen-2.6.1-standalone .jar clojure.main -m leiningen.core.main uberjar' – tareq

+1

只是一個想法,但詹金斯服務帳戶有權'/ home/.lein'我記得當我設置它時,我專門將它放在'/ var/lib/jenkins',不得不改變主人 – Scott

回答

3

TL;博士 - 檢查權限

當你設置leiningen+plugin詹金斯請確保詹金斯下運行服務帳戶的所有者和具有權限leiningen,standalone.jar

在我來說,我在/var/lib/jenkins/.lein這是安裝了詹金斯的默認和改變的所有者jenkins:jenkins

安裝leiningen 10
1

您是否在您的project.clj中添加了clojure作爲依賴項?

:dependencies [[org.clojure/clojure "1.8.0"]] 
+0

那麼,project.clj中的部分讀取':dependencies [[org]。clojure/clojure「1.8.0」] [leiningen「2.6.1」]]' – tareq

+0

將leiningen本身作爲依賴是很不尋常的。 –

+0

好吧,我刪除它,因爲我只是添加了這個調試。謝謝。 – tareq