2016-10-31 4 views
1

私はCIのテストをいくつか行っています。私のローカル(Windows 10)でEclipseで実行し、ec2 linuxサーバーのコマンドラインで実行するとビルドが成功します。私はジェンキンスから同じプロジェクトをビルドするときMavenはジェンキンでは動作しません(ただし、Eclipseやコマンドラインから実行されます)

は私だけでは次のエラーを取得する:ジェンキンスはデータ[ERROR]を集める終了するのを待っている

はゴールorg.apache.maven.pluginsの実行に失敗しました:mavenの-コンパイラプラグイン: 3.0:プロジェクトのコンパイル(デフォルトコンパイル)invalidlogin:mojoステータスの保存中にエラーが発生しました:/ var/lib/jenkins/workspace/project/invalidlogin/target/maven-compiler-plugin/compile/default-compile/inputFiles.lst(許可が拒否されました) - > [ヘルプ1]

ブラウザとしてPhantomJSを使用しています。

ジェンキンズの仕組みは?私はchmodを使用して権限を更新しましたが、私はまだ同じ結果を得ています。なぜこれはコンソールを介して実行されますが、ゲンキンを通じて実行されませんか?

これは問題が権限で確かだった私のポンポン

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>InvalidLoginV1</groupId> 
    <artifactId>invalidlogin</artifactId> 
    <version>0.0.1-SNAPSHOT</version> 
    <name>invalidcredentials</name> 
    <description>invalidcredentials</description> 

    <properties> 
<suiteXmlFile>src/main/resources/testng.xml</suiteXmlFile> 

</properties> 

<dependencies> 
<dependency> 
    <groupId>org.testng</groupId> 
    <artifactId>testng</artifactId> 
    <version>6.8</version> 
    <scope>test</scope> 
</dependency> 

<dependency> 
    <groupId>org.seleniumhq.selenium</groupId> 
    <artifactId>selenium-server</artifactId> 
    <version>2.34.0</version> 
    <scope>test</scope> 
</dependency> 

<dependency> 
    <groupId>com.github.detro.ghostdriver</groupId> 
    <artifactId>phantomjsdriver</artifactId> 
    <version>1.0.4</version> 
    <scope>test</scope> 
</dependency> 

<dependency> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-surefire-plugin</artifactId> 
    <version>2.19.1</version> 
    <type>maven-plugin</type> 
</dependency> 


</dependencies> 

<build> 


<plugins> 

    <plugin> 
      <groupId>com.github.klieber</groupId> 
      <artifactId>phantomjs-maven-plugin</artifactId> 
      <version>0.7</version> 
    </plugin> 



<plugin> 



<groupId>org.apache.maven.plugins</groupId> 
<artifactId>maven-compiler-plugin</artifactId> 
<version>3.0</version> 
<configuration> 
<compilerVersion>1.8</compilerVersion> 
<source>1.6</source> 
<target>1.6</target> 
</configuration> 
</plugin> 


</plugins> 

</build> 

</project> 
+1

権限の問題のようです。これらのファイルへの読み取り/書き込み権限をjenkinsユーザーに与えようとしましたか? – Reimeus

+0

@Reimeusいいえ、私はコマンドラインで実行できるので、ジェンキンで動くのは良かったと思いました。 どうすればこの権限を与えられますか? –

+0

実際にはまずjenkinsユーザが '/ var/lib/jenkins'以下のすべてのファイルを所有していることを確認してから、' chmod'を実行してアクセス権を設定してください。 – Reimeus

答えて

1

です。私はこれを設定するいくつかの問題を持っていましたが、私はここでこのガイドを見つけました:http://blog.manula.org/2013/03/running-jenkins-under-different-user-in.html

基本的には、jenkinsユーザーとしてサーバーに既存のユーザーを追加する必要があります。 sudo vim /etc/sysconfig/jenkins

それが完了したら、ちょうどジェンキンスホームの所有権を変更、ウェブルートおよびログ

chown -R user:user/var/lib/jenkins 
chown -R user:user/var/cache/jenkins 
chown -R user:user/var/log/jenkins 

おかげ@Reimeus!

関連する問題