web-dev-qa-db-ja.com

プログラム「mvn」を実行できませんerror = 2、そのようなファイルまたはディレクトリはありません

Ubuntu 14.04 LTSでビルドを行っていますが、次のようになっています:

Started by user anonymous
Building in workspace /var/lib/jenkins/workspace/videovixx
 > /usr/bin/git rev-parse --is-inside-work-tree # timeout=10
Fetching changes from the remote Git repository
 > /usr/bin/git config remote.Origin.url https://bitbucket.org/mdennis10/videovixx.git #     timeout=10
Fetching upstream changes from https://bitbucket.org/mdennis10/videovixx.git
 > /usr/bin/git --version # timeout=10
using .gitcredentials to set credentials
 > /usr/bin/git config --local credential.helper store --    file=/tmp/git6236060328558794078.credentials # timeout=10
 > /usr/bin/git fetch --tags --progress https://bitbucket.org/mdennis10/videovixx.git   +refs/heads/*:refs/remotes/Origin/*
 > /usr/bin/git config --local --remove-section credential # timeout=10
 > /usr/bin/git rev-parse refs/remotes/Origin/master^{commit} # timeout=10
 > /usr/bin/git rev-parse refs/remotes/Origin/origin/master^{commit} # timeout=10
Checking out Revision f5c53e95d33c1e15abd7519346c18ec6bc0c81d7      (refs/remotes/Origin/master)
 > /usr/bin/git config core.sparsecheckout # timeout=10
 > /usr/bin/git checkout -f f5c53e95d33c1e15abd7519346c18ec6bc0c81d7
 > /usr/bin/git rev-list f5c53e95d33c1e15abd7519346c18ec6bc0c81d7 # timeout=10
[videovixx] $ mvn install package
FATAL: command execution failed
Java.io.IOException: Cannot run program "mvn" (in directory    "/var/lib/jenkins/workspace/videovixx"): error=2, No such file or directory
    at Java.lang.ProcessBuilder.start(ProcessBuilder.Java:1047)
    at hudson.Proc$LocalProc.<init>(Proc.Java:244)
    at hudson.Proc$LocalProc.<init>(Proc.Java:216)
    at hudson.Launcher$LocalLauncher.launch(Launcher.Java:802)
    at hudson.Launcher$ProcStarter.start(Launcher.Java:380)
    at hudson.Launcher$ProcStarter.join(Launcher.Java:387)
    at hudson.tasks.Maven.perform(Maven.Java:328)
    at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.Java:20)
    at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.Java:770)
    at hudson.model.Build$BuildExecution.build(Build.Java:199)
    at hudson.model.Build$BuildExecution.doRun(Build.Java:160)
    at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.Java:533)
    at hudson.model.Run.execute(Run.Java:1745)
    at hudson.model.FreeStyleBuild.run(FreeStyleBuild.Java:43)
    at hudson.model.ResourceController.execute(ResourceController.Java:89)
    at hudson.model.Executor.run(Executor.Java:240)
Caused by: Java.io.IOException: error=2, No such file or directory
    at Java.lang.UNIXProcess.forkAndExec(Native Method)
    at Java.lang.UNIXProcess.<init>(UNIXProcess.Java:186)
    at Java.lang.ProcessImpl.start(ProcessImpl.Java:130)
    at Java.lang.ProcessBuilder.start(ProcessBuilder.Java:1028)
    ... 15 more
Build step 'Invoke top-level Maven targets' marked build as failure
Archiving artifacts
Recording test results
Finished: FAILURE

これは、/ var/lib/jenkins/workspace/videovixxが正しい許可なしで作成されるのを防ぐLinuxセキュリティ機能が原因であると考えています。これが問題ですか、どうすれば解決できますか?

26
Mario Dennis

ここには複数のことがあります。

ジョブ設定でMavenバージョンを選択しませんでした。または、MavenバージョンをインストールするようにJenkinsを構成しませんでした。または、スレーブにローカルにインストールされたMavenを使用する予定でしたが、jenkinsユーザー用に構成されていません。

あなたが何を設定したか(または設定しなかった)、あなたが何を使用するかわからないので、直接答えることはできませんが、その仕組みを説明することはできます。

マスター/スレーブでローカルにインストールされたMavenを使用する場合

  • Mavenをローカルにインストールする必要があります
  • jenkins user で起動できる必要があります。
    1. 実行Sudo jenkinsを実行し、スレーブでmvnを実行して、jenkinsユーザーがmvnを実行できることを確認します。
    2. それが失敗した場合、Mavenを適切にインストール/設定する必要があります
  • ジョブ構成で、Mavenバージョンの場合、必須Defaultを選択します。これは、ノードにローカルにインストールされているバージョンを使用する設定です

JenkinsにMavenをインストールしてもらいたい場合

  • Jenkins Global Tool Configurationに移動し、自動インストーラーでMavenバージョンを構成する必要があります(Webから)。
  • ジョブ構成で、Mavenバージョンの場合、that構成したばかりの特定のバージョンを選択する必要があります。
44
Slav

最も単純なソリューションを探している場合は、グローバルジェンキン設定に移動する必要があります

http://localhost:32773/configureTools/

そして、そのようにMavenを構成します

enter image description here

次に、プロジェクトに移動する必要があります。構築した内部設定。 1分前に作成したMavenを選択します。

enter image description here

28
Marcin Szymczak

Mavenをグローバルに作成して構成した後maven2/3プロジェクトをビルド Bではなくジョブフリースタイルソフトウェアプロジェクトをビルドおよびビルド後のソナーは正常に機能します!

0
Radhakrishnan