Derzeit verwende ich Jenkins Pipeline-Skript.
Um einen Befehl auszuführen, muss ich auf einen Ordner außerhalb seines Arbeitsbereichsverzeichnisses zugreifen.
Ich habe es versucht sh "cd $workspace/"
, aber es wurde der aktuelle Arbeitsbereichsordner zurückgegeben.
Wie kann ich in das Stammverzeichnis des Arbeitsbereichs und dann in einen anderen Ordner wechseln? Bitte helfen Sie.
jenkins
groovy
jenkins-pipeline
Wanderer
quelle
quelle
dir
Schritts ist "wieder aufwärts", siehe auch Antwort / Beispiel von Gonzalo Robert Diaz: stackoverflow.com/a/59776342/757308cd directory
in einer Muschel.Verwenden Sie die Umgebungsvariable WORKSPACE, um das Arbeitsbereichsverzeichnis zu ändern.
Verwenden Sie bei Verwendung von Jenkinsfile den folgenden Code:
dir("${env.WORKSPACE}/aQA"){ sh "pwd" }
quelle
dir('aQA')
funktioniert genauso. Keine Notwendigkeit für diese KomplexitätDer
dir
Wrapper kann jeden anderen Schritt umbrechen und alles funktioniert innerhalb einessteps
Blocks, zum Beispiel:steps { sh "pwd" dir('your-sub-directory'){ sh "pwd" } sh "pwd" }
quelle
sh "$PWD"
ist kein korrekter Befehl, da Sie versuchen, den Pfad selbst auszuführen.sh
ist der Jenkins-Schritt, der das Argument ausführt, das Sie als Shell-Skript übergeben. Wenn Sie Ihren eigenen Code testen, wird einepermission denied
Fehlermeldung angezeigt, da diese$PWD
nicht ausführbar ist. Verwenden Sieecho "$PWD"
odersh "pwd"
stattdessen. Lernen Sie auch, Kritik zu üben.