2017-01-19 7 views
3

私はclojureに基づいた単純なWebプロジェクトを持っていますが、リソースフォルダにはいくつかのマークダウンファイルが含まれています。以前私は単純なclojure webprojectをleiningenとjenkinsで構築する

cd my-project 
lein ring server 

でそれを実行してから、私はhttp://localhost:portで、ブラウザで実行されているプロジェクトを見ました。 I

  • は(日食で)ローカルにClojureのプロジェクトを作成したので、今、私はジェンキンスと、このプロセスを統合することを望んでいた

  • は(設定で-standalone.jarをLeiningenをするためにパスを追加私のジェンキンスにLeiningenをサポートを追加しました)
  • ビルドステップは、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/leiningenstandalone.jar clojure.main -m leiningen.core.main uberjar' clijure jarではなく。 – Scott

    +0

    あなたは正しいです。私はそれを修正するためにleiningen jarの代わりにclojure jarを使ってテストしました。それを変更し、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

    jenkinsサービスアカウントは '/ home/.lein'へのアクセス権を持っていますが、これを設定すると'/var/lib/jenkins'と所有者を変更しなければならなかった – Scott

    答えて

    3

    TL; DR - チェック権限

    あなたはジェンキンスのセットアップleiningen+pluginジェンキンスが下に実行されていること、サービスアカウントが所有者であるとLeiningenを-standalone.jarへのアクセス権を持っていることを確認してください

    私の場合は

    私はジェンキンスのデフォルトのインストールとjenkins:jenkins

    に変更された所有者だった /var/lib/jenkins/.leinで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

    関連する問題