2017-06-14 2 views
0

Ich habe eine Menge Nachforschungen angestellt, um Beispiele für laufende Shell() Skriptbefehle in einem preBuildSteps eines mavenJobs zu finden. Alles, was ich gefunden habe, bietet einfache Beispiele. Zum Beispiel:Versuch, einen shell() Befehl in den preBuildSteps eines Jenkins DSL auszuführen mavenJob

mavenJob('example-1') { 
    preBuildSteps { 
     shell("echo 'run before Maven'") 
    } 
} 

Ich möchte ein Linux Bash-Skript ausführen. Zum Beispiel:

Schale ("bash /scripts/pom.xml.exists.sh")

Wenn ich ausführen, erhalte ich die folgende Fehlermeldung:

  • bash/Skripte/Pom .xml.exists.sh bash: /scripts/pom.xml.exists.sh: Keine solche Datei oder das Verzeichnis

Kann mir jemand wissen, was ich falsch mache? Umgekehrt vielleicht ein Shell-Befehl, der mir sagt, in welchem ​​Verzeichnis ich mich befinde. Vielleicht wird mir das sagen, warum ich die Nachricht nicht gefunden habe.

dank

Antwort

1

versuchen

shell("bash scripts/pom.xml.exists.sh") 

oder sogar

shell("scripts/pom.xml.exists.sh") 

Sieht aus wie Sie durch Zufall absoluten Pfad verwenden, aber Sie relativen Pfad wollen.

+0

danke für Ihre Antwort. Ich habe es gerade versucht. Es hat nicht funktioniert. gleicher Fehler Ich glaube, ein Teil von dem, was ich zu bestimmen glaube, ist, wo ich bin, wenn ich versuche auszuführen. Wie kann ich die Verzeichnisstruktur bestimmen? –

+0

pwd ist der integrierte Shell-Befehl, der Ihnen das Present Working Directory geben wird –

+0

Ich habe versucht, pwd, aber ich bekomme keine Ausgabe, wenn ich es versuche. Hier ist ein Beispiel für die Syntax, die ich versucht habe. Ich habe ein paar Kombinationen ausprobiert. Das ist ein Teil dessen, was ich frage. Wie lautet die Syntax für Befehle wie pwd? shell ("bash pwd" .execute(). Text) –

Verwandte Themen