2012-02-27 25 views
3

私はJenkinsをLinuxにインストールしました。私は、カスタムワークスペース/ root/xxxx(ディレクトリ構造がすでに整っている)でジョブを設定しました。jenkinsの作業スペースをLinuxで変更する

Building in workspace /root/bhanu 
java.io.IOException: Failed to mkdirs: /root/bhanu 
at hudson.FilePath.mkdirs(FilePath.java:847) 

もう一つの問題:シェルビルドステップを実行しコピーコマンドを実行するとき、それは私を与えるエラー「許可が拒否された」それは私に次のエラーが発生します。コンソール出力から、copyコマンドがうまく動作します。ここでエラーがある:私はジェンキンスでシェルスクリプトでの権限を設定しようとすると

+ cp /home/user1/victor.war /root/apache-tomcat-6.0.29/webapps/ 
cp: accessing '/root/apache-tomcat-6.0.29/webapps/': Permission denied 

それは私を与えるエラー「許可が拒否されました」:

+ chmod a+rwx /root/apache-tomcat-6.0.29/webapps/ 
chmod: cannot access '/root/apache-tomcat-6.0.29/webapps/': Permission denied 
+1

これは、jenkinsがデフォルトでほとんどのディストリビューションでユーザー 'jenkins'として実行され、そのユーザーに'/root'への書き込みアクセス権がないためです - これは 'chmod'と同じことです。公式リポジトリからjenkinsをインストールし、デフォルトのユーザー名を使用することをお勧めします。さらに、 '/ srv/jenkins/workspace'のように、_標準の場所で作業領域を使うべきです。 – Kimvais

+0

私がジェンキンをインストールしたのは、 – vinod

+0

のjenkinsをインストールしたときに私が知っているルートのみからjenkinsをインストールしたことです。sudo chmodをjenkinsに置いたときに、sudo:申し訳ありませんが、sudoを実行するにはttyが必要です – vinod

答えて

5

は何を参照して

ps aux |grep jenkins 

をお試しくださいユーザーにはプロセスがあります。 Linuxでは、jenkinsはJENKINS_USER変数を使用して、実行するユーザーを定義します。標準的なUbuntuパッケージのインストールの場合、/etc/default/jenkinsの設定ファイルは、ユーザをJENKINS_USER変数で指定します。

同じ設定ファイルで、JENKINS_HOMEを使用して、デフォルトのワークスペースの場所を指定することもできます。 Jenkinsがファイルにアクセスするには、JENKINS_USERで指定したユーザーが所有していることを確認してください。

スレーブノードの場合、スレーブ構成のスレーブマシンで、[Jenkinsの管理]> [ノードの管理]> [設定]> [リモートFSルート]のデフォルトワークスペースを指定します。繰り返しますが、JENKINS_USERユーザーの読み取り/書き込み/実行のアクセス許可が必要です。

関連する問題