2 Stimmen

Jenkins Parameterized Build Upload Speicherort

Ich habe einige Bash-Skripte für einige spezifische projektbasierte Automatisierung geschrieben. Ich verwende den parametrisierten Build-Prozess für das Hochladen einer Datei, wie in diesem Artikel beschrieben SO-Link . Das Problem ist, dass ich von den Skripten aus auf die hochgeladene Datei zugreifen muss, aber ich weiß nicht, wo sie nach dem Hochladen gespeichert wurde.

Jenkins weist darauf hin, dass der Standort relativ zum Arbeitsbereich sein würde. Ich bin mir nicht sicher, was der Arbeitsbereich in Bezug auf Jenkins bedeutet. Ich habe mehrere Optionen ausprobiert: den Stamm-Speicherort, /users/$USER/workspace/, /users/$USER/workspace/[project_name]/

Kann mir jemand dabei helfen?

Vielen Dank im Voraus.

3voto

Gonen Punkte 3785

Der Arbeitsbereich befindet sich in der Regel unter dem Ordner "jenkins", getrennt nach Job-Namen.

  • An めっけもの den genauen Standort des Arbeitsbereichs Ihres Auftrags,
    geben Sie einfach den Wert dieses Parameters in Ihrem Auftrag wieder:

    echo $WORKSPACE (für Unix/Linux/Mac)

    echo %WORKSPACE% (für Windows)

  • An verwenden. diesen Ort in Ihren Skripten zu verwenden, stellen Sie ihn einfach dem Pfad Ihrer Datei voran:

    ls -l $WORKSPACE/myFile.txt
    oder
    dir %WORKSPACE%\myFile.txt

Beachten Sie, dass es etwas kompliziert wird, wenn Sie versuchen, auf die Ergebnisse von Job_AA de Job_BB ,
da sich jeder in einem anderen Arbeitsbereich befindet.
(Sie können auf den Arbeitsbereich anderer Aufträge zugreifen, aber jetzt Job_BB ist abhängig von der Name de Job_AA ,
was schlecht ist.)

Hierfür empfehle ich die Verwendung eines gemeinsamer Standort für alle Build-Ergebnisse, außerhalb von Jenkins.

Viel Glück!

1voto

gareth_bowles Punkte 20258

Jenkins geht davon aus, dass dem Pfad zur hochgeladenen Datei der Pfad zum Arbeitsbereich Ihres Builds vorangestellt wird. Sie können den Speicherort Ihrer Datei entweder als $WORKSPACE/path/to/file (Jenkins füllt $WORKSPACE mit dem entsprechenden Pfad für jeden Build) oder einfach path/to/file

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X