Jenkins-Andock-Agent in deklarativer Pipeline: Datei nicht gefunden

8

Wenn Sie versuchen, das Beispiel von Ссылка auszuführen:

%Vor%

Ich bekomme folgende Ausgabe:

%Vor%

docker ist auf dem Server installiert und befindet sich im PATH: das Image ist gebaut :-) ( docker pull command ist am Anfang der Pipeline erfolgreich)

Ich habe einen Logger auf org.jenkinsci.plugins.docker.workflow.client.DockerClient mit dem folgenden Ergebnis hinzugefügt:

%Vor%

Ich habe auch versucht, einen Docker in einer Phase mit einem regulären Agenten zu starten, dasselbe Problem:

%Vor%

mit Docker.Pipeline 1.10

Dies scheint mit einem PATH-Konfigurationsproblem auf dem Knoten zu tun zu haben, aber ich kann wo nicht finden.

Wenn ich in der Knotenkonsole org.jenkinsci.plugins.docker.commons.tools.DockerTool.getExecutable("docker", Jenkins.getActiveInstance(), null, null) ausführen, erhalte ich den korrekten (vorhandenen, ausführbaren) Andockpfad.

irgendeine Idee?

Vielen Dank!

    
Vincent de Lagabbe 07.04.2017, 14:13
quelle

2 Antworten

0

Sie können einen Shell-Befehl ausführen, der ungefähr so ​​aussieht wie sh "docker 'node'"

Was ich gemacht habe, ist eine Jenkins-Datei und eine Docker-Datei (seit ich meine Bilder bearbeite) und die Jenkins-Datei ruft ein Skript auf, das

hat %Vor%

drin.

    
Wimateeka 20.06.2017 13:18
quelle
-1

Hinzufügen von ~/.zshenv für zshell (oder eine andere Datei), um docker in den Pfad zu setzen. Ich habe das gemacht und das Problem gelöst:

%Vor%

Es sieht so aus, als ob docker inspect nicht im selben env wie docker pull läuft.

Auf meinem Mac ist der docker pull fehlgeschlagen, dann habe ich node / agent so konfiguriert, dass Name: PATH, Value: /usr/local/bin:$PATH zur Environment variables hinzugefügt wird, dann wird docker pull normal laufen. Und docker inspect ist fehlgeschlagen.

Dann füge ich ~/.zshenv wie oben hinzu (und starte node / agent neu), die docker inspect hat schließlich funktioniert.

    
Macdao 26.05.2017 08:44
quelle