2017-02-15 10 views
0

私は最近、dev Jenkins環境にRHEL7スレーブノードを設定しました。これは単にSSH経由でいくつかのUnix固有のスクリプトを実行しました。Ubuntuスレーブノード(Jenkins)エラー

私の会社のプロダクション環境(別のスレーブノード(Ubuntu 16.04)を使用)では、Dev Jenkinsからスレーブノード設定を複製し、ログによって生成されたエラーを処理していますしかし、私はしばらくの間、この段階で立ち往生してきたし、私の状況に関連するすべてのドキュメントを見つけることができません

私は、次のエラーを取得しています:。

[02/15/17 10:47:11] [SSH] Starting slave process: cd "/home/jenkins" && java -jar slave.jar 
Exception in thread "main" java.lang.RuntimeException: Root directory not writable 
    at hudson.remoting.FileSystemJarCache.<init>(FileSystemJarCache.java:44) 
    at hudson.remoting.Launcher.runWithStdinStdout(Launcher.java:477) 
    at hudson.remoting.Launcher.run(Launcher.java:251) 
    at hudson.remoting.Launcher.main(Launcher.java:201) 
hudson.util.IOException2: Slave JVM has terminated. Exit code=1 
    at hudson.plugins.sshslaves.SSHLauncher.startSlave(SSHLauncher.java:984) 
    at hudson.plugins.sshslaves.SSHLauncher.access$400(SSHLauncher.java:137) 
    at hudson.plugins.sshslaves.SSHLauncher$2.call(SSHLauncher.java:725) 
    at hudson.plugins.sshslaves.SSHLauncher$2.call(SSHLauncher.java:706) 
    at java.util.concurrent.FutureTask.run(Unknown Source) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
    at java.lang.Thread.run(Unknown Source) 
Caused by: java.io.EOFException: unexpected stream termination 
    at hudson.remoting.ChannelBuilder.negotiate(ChannelBuilder.java:365) 
    at hudson.remoting.ChannelBuilder.build(ChannelBuilder.java:310) 
    at hudson.slaves.SlaveComputer.setChannel(SlaveComputer.java:389) 
    at hudson.plugins.sshslaves.SSHLauncher.startSlave(SSHLauncher.java:976) 
    ... 7 more 
[02/15/17 10:47:11] Launch failed - cleaning up connection 
[02/15/17 10:47:11] [SSH] Connection closed. 

私は二重の持っている、三重のチェックをルートディレクトリ(home/jenkins/jenkins_slave)のパーミッションは正常ですが、もし私がattemp手動で、私は次のエラーを取得するスレーブノード上のjava -jar slave.jarを実行するためのT:

WARNING: Are you running slave agent from an interactive console? 
If so, you are probably using it incorrectly. 
See http://wiki.jenkins ci.org/display/JENKINS/Launching+slave.jar+from+from+console 
<===[JENKINS REMOTING CAPACITY]===> 

それは環境の何かでなければならないので、権限と設定が同一であるので、私はただ、理解していませんか?どんな助けや指導も頂けます。

+0

'getenforce'コマンドを使ってSELinuxの状態をチェックしてみてください。企業イメージにはいくつかの制限政策がある可能性があります。コマンドを返すときに 'Enforcing'を取得した場合は、SELinuxのドキュメントと企業ポリシーを参照してください。コマンド 'ausearch -i'は、そのような場合にいくつかのアクセスが禁止されていることを証明するのに役立ちます。 – doz10us

+0

こんにちは@ doz10us返信いただきありがとうございます - 私はSELinuxのステータスをチェックするだけでも、それはhahaがインストールされていないことを確認しました。 – jto

+0

誰かが助けることができますか? – jto

答えて

0

あなたの家は/home/jenkins/jenkins_slaveではなく、home/jenkinsです - 少なくともログ出力(Starting slave process: cd "/home/jenkins" [...])に従ってください。だから、スレーブの起動設定を変更して、cdを/home/jenkins/jenkins_slaveに変更してください。

関連する問題