2016-06-08 15 views
0

Ich habe eine Jenkins Master-Slave-Struktur-Setup erstellt mit Master auf Windows-Server, plus ein paar Windows-Sklaven und einem Mac-Slave. Die Strömung ist wie dieser,'Nant' als nicht erkannt Befehl auf Jenkins Mac Slave

  1. Jenkins Shell-Skript einen Shell-Befehl (sh sample.command) auslöst [dies auf beiden Fenstern verwendet wird, und Mac-Knoten (win-schlag verwenden) .....]

Der erste Schritt, wo es das Shell-Skript auslöst, funktioniert sowohl auf Windows als auch auf dem Mac-Slave.

#!/bin/bash 
echo “This is a shell script acting as a middleware to trigger the NAnt....” 
echo "Calling NAnt...." 
nant ${1} ${2} ${3} ${4} 

2.Now hat der sample.command einen Code ein Nant Befehl auszulösen, die auf mac funktioniert nicht Slave und mir ein Fehler geben: Nant: Befehl nicht

gefunden

3.Die NAnt wird auf dem Mac-Slave durch brew installiert und wenn ich dieses Shell-Skript sample.command von der Mac-Maschine aus trigge, funktioniert es gut und führt den nant-Befehl aus, funktioniert aber nicht über jenkins.

Jede Hilfe wäre willkommen, danke im Voraus.

Antwort

0

Ich konnte dies lösen, indem Sie die $ PATH-Variable am Anfang des Shell-Skripts einrichten. Einfach die unten Zeile in der Shell-Skript hinzugefügt,

export PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/share/dotnet/bin 

Die Wege hier erwähnten könnten auf anderen Maschinen unterschiedlich sein, was ich tat, ist, überprüfte ich die $ PATH, während die Shell von Mac Maschine aufrufen und kopieren kleistert und das hat funktioniert.