Ich möchte einen Build-Schritt mit dem Groovy-Plugin hinzufügen, um abhängig vom Inhalt der Datei eine Datei zu lesen und einen Build-Fehler auszulösen.
Wie kann ich den Workspace-Dateipfad in das Groovy-Plugin einfügen?
%Vor%Basierend auf Ihren Kommentaren wären Sie mit Textfinder Plugin.
Erlaubt das Suchen nach Datei (en) sowie nach Konsolen für einen regulären Ausdruck und dann das Setzen von unstable
oder failed
falls gefunden.
Wie beim Groovy können Sie auf die Umgebungsvariable ${WORKSPACE}
zugreifen:
def workspace = manager.build.getEnvVars()["WORKSPACE"]
Mir ist klar, dass es bei dieser Frage um das Erstellen eines Plugins ging, aber da die neuen Jenkins-2-Pipeline-Builds Groovy verwenden, fand ich mich hier, während ich versuchte, herauszufinden, wie man eine Datei aus einem Arbeitsbereich in einem Pipeline-Build liest. Vielleicht kann ich jemandem wie mir in der Zukunft helfen.
Es ist sehr einfach, es gibt ein readfile Schritt, und ich sollte rtfm:
haben %Vor%Wenn Sie bereits das Groovy (Postbuild) -Plugin installiert haben, denke ich, dass es wünschenswert ist, dies mit (generischem) Groovy zu tun, anstatt ein (spezialisiertes) Plugin zu installieren.
Das heißt, Sie können den Arbeitsbereich mit manager.build.workspace.getRemote()
aufrufen. Vergessen Sie nicht, File.separator
zwischen Pfad und Dateiname hinzuzufügen.
Wenn Sie während eines Pipeline-Erstellungsschritts versuchen, eine Datei aus dem Arbeitsbereich zu lesen, gibt es dafür eine Methode:
%Vor%Siehe Ссылка .