Jenkins-Slave-Zugriff Verweigert beim kopieren slave.jar
Bekomme ich ein Berechtigungen-verweigert aber weiß nicht warum. Von meinem jenkins master ich war in der Lage, führen Sie den folgenden Befehl über ssh-rsa-Schlüssel
scp /var/cache/jenkins/war/WEB-INF/slave.jar jenkins@<my_slave_host>:/var/jenkins/
Hinweis: habe ich manuell erstellen /var/jenkins/auf dem meine host-slave, wenn ich sah es nicht, und machte es sich im Besitz der jenkins Benutzer. Mein Meister jenkins konfiguriert ist, mit der jenkins@mySlaveHost mit .ssh-Schlüssel.
Irgendwelche Ideen, warum ich bin immer ein Berechtigungen-verweigert? Was ist es versuchen zu tun?
Hier ist der log von master jenkins nach einem Klick auf [- Lauch-slave-agent] - Taste:
[02/27/15 15:18:01] [SSH] Opening SSH connection to <my_slave_host>:22.
[02/27/15 15:18:02] [SSH] Authentication successful.
[02/27/15 15:18:03] [SSH] The remote users environment is:
BASH=/bin/bash
BASHOPTS=cmdhist:complete_fullquote:extquote:force_fignore:hostcomplete:interactive_comments:progcomp:promptvars:sourcepath
BASH_ALIASES=()
BASH_ARGC=()
BASH_ARGV=()
BASH_CMDS=()
BASH_EXECUTION_STRING=set
BASH_LINENO=()
BASH_SOURCE=()
BASH_VERSINFO=([0]="4" [1]="3" [2]="11" [3]="1" [4]="release" [5]="x86_64-pc-linux-gnu")
BASH_VERSION='4.3.11(1)-release'
CATALINA_HOME=/opt/tomcat/current
DIRSTACK=()
EUID=107
GROUPS=()
HOME=/var/lib/jenkins
HOSTNAME=*********** REMOVED***********
HOSTTYPE=x86_64
IFS=$' \t\n'
JAVA_HOME=/usr/lib/jvm/java-7-oracle
LANG=en_US.UTF-8
LOGNAME=jenkins
MACHTYPE=x86_64-pc-linux-gnu
MAIL=/var/mail/jenkins
OPTERR=1
OPTIND=1
OSTYPE=linux-gnu
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
PIPESTATUS=([0]="0")
PPID=10592
PS4='+ '
PWD=/var/lib/jenkins
SHELL=/bin/bash
SHELLOPTS=braceexpand:hashall:interactive-comments
SHLVL=1
SSH_CLIENT='10.57.13.32 34436 22'
SSH_CONNECTION='10.57.13.32 34436 10.57.6.42 22'
TERM=dumb
UID=107
USER=jenkins
XDG_RUNTIME_DIR=/run/user/107
XDG_SESSION_ID=42
_=']'
[02/27/15 15:18:03] [SSH] Checking java version of java
[02/27/15 15:18:04] [SSH] java -version returned 1.7.0_76.
[02/27/15 15:18:04] [SSH] Starting sftp client.
[02/27/15 15:18:04] [SSH] Copying latest slave.jar...
hudson.util.IOException2: Could not copy slave.jar into '/var/jenkins' on slave
at hudson.plugins.sshslaves.SSHLauncher.copySlaveJar(SSHLauncher.java:1019)
at hudson.plugins.sshslaves.SSHLauncher.access$300(SSHLauncher.java:133)
at hudson.plugins.sshslaves.SSHLauncher$2.call(SSHLauncher.java:709)
at hudson.plugins.sshslaves.SSHLauncher$2.call(SSHLauncher.java:696)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: hudson.util.IOException2: Could not copy slave.jar to '/var/jenkins/slave.jar' on slave
at hudson.plugins.sshslaves.SSHLauncher.copySlaveJar(SSHLauncher.java:1016)
... 7 more
Caused by: com.trilead.ssh2.SFTPException: Permission denied (SSH_FX_PERMISSION_DENIED: The user does not have sufficient permissions to perform the operation.)
at com.trilead.ssh2.SFTPv3Client.openFile(SFTPv3Client.java:1201)
at com.trilead.ssh2.SFTPv3Client.createFile(SFTPv3Client.java:1074)
at com.trilead.ssh2.SFTPv3Client.createFile(SFTPv3Client.java:1055)
at hudson.plugins.sshslaves.SFTPClient.writeToFile(SFTPClient.java:93)
at hudson.plugins.sshslaves.SSHLauncher.copySlaveJar(SSHLauncher.java:1008)
... 7 more
[02/27/15 15:18:04] Launch failed - cleaning up connection
[02/27/15 15:18:04] [SSH] Connection closed.
Bearbeiten:
Hier die /var/jenkins auf dem slave:
$ ls -al
total 436
drwxr-xr-x 2 jenkins jenkins 22 Feb 27 15:17 .
drwxr-xr-x 14 root root 4096 Feb 27 15:12 ..
-rw-r--r-- 1 jenkins jenkins 439584 Feb 27 15:17 slave.jar
Als für SFTP, ich glaube nicht, dass es aktiviert ist, können Sie zeigen Sie mir alle docs, sagt SFTP ist eine Voraussetzung für ein Sklave? Alle Seiten, die ich gesehen habe nicht erwähnt, SFTP.
/var/jenkins
auf diesem remote-server? ZB, führen Sie "ls -ld /var/jenkins" und fügen Sie die Ausgabe auf die Frage? Gehören auch die Berechtigungen slave.jar in diesem Verzeichnis, wenn es so eine Datei in dem Verzeichnis.So weit ich das sehen kann aus deinem log - Jenkins ist mit SFTP und Sie persönlich ist, können Sie mit SCP. Sie könnten auch versuchen, die übertragung einer Datei per SFTP um die Probleme reproduzieren, Jenkins auftreten.
InformationsquelleAutor dlite922 | 2015-02-27
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wie es aussieht, das problem an Ihren Remote-root-Verzeichnis einrichten. Werden muss, dass die Lage der slave.jar als Jenkins wird versuchen, führen Sie es von dort.
Als für die Berechtigungen, die Remote-Root-Verzeichnis (was man hier") muss so konfiguriert werden, dass Jenkins auf ihn zugreifen.
Daher, wenn Sie ändern Sie Ihre Remote-root-Verzeichnis einrichten /var/jenkins/in deinem Fall, sollte es starten die Jenkins-slave-erfolgreich.
Nicht für mich arbeiten. Sowohl slave und master haben die gleichen jenkins Pfad /var/lib/jenkins. SSH wird auch die Verbindung fein und Berechtigungen sind auch richtig.Bin ich etwas fehlt.Bitte um Hilfe [![Slave][1]][1] [![Master][2]][2] [1]: i.stack.imgur.com/fcBnw.png [2]: i.stack.imgur.com/BEbhC.png
Sie sollten beginnen, Ihre eigene Frage mit mehr Daten Hinzugefügt. Das problem wird möglicherweise anders als meine.
InformationsquelleAutor IceBox
sudo chmod -R 777 /var/jenkins
InformationsquelleAutor Andrey
Gewährung
funktioniert bei mir
InformationsquelleAutor harsh
Für jedermann mit einer externen Festplatte, prüfen, dass es korrekt montiert:
Könnte dies ein problem
InformationsquelleAutor orkenstein
Wenn Sie geändert ein Benutzer eine Verbindung zum slave, bitte stellen Sie auch sicher slave Zielverzeichnis leer ist (nicht enthält slave.jar kopiert es durch den vorherigen Benutzer).
Das ist blöd, aber das kostete mich Zeit.
InformationsquelleAutor markin.io