Pipelineschrittartefakte vorbereiten
Erfahren Sie, wie Sie ein Pipelineschrittartefakt erstellen, das in Pipelines und Pipelineausführungen verwendet werden soll.
Pipelineschritte sind Artefakte, die den Code enthalten, der in jedem Schritt ausgeführt werden soll. Dieser Code enthält die Skripte, die während der Ausführung des Pipelineschritts ausgeführt werden, und wird im Pipelineschritt als einzelnes Artefakt festgelegt.
Sie können folgende Typen von Pipelineartefakten verwenden:
Python-Dateien
Das Artefakt kann eine einfache Python-Datei sein, die Code zur Ausführung einer Pipeline enthält, wie dieses Beispiel für eine Python-Datei:
# simple pipeline step
import time
print(" This is a step in a pipeline.")
time.sleep(3)
print("Pipeline step done.")
Dieser Pipelineschritt druckt zwei Nachrichten mit einer Ruhezeit von drei Sekunden. Sie können den Code in einer einzelnen simple_pipeline_step.py
-Datei speichern und dann als Schritt in eine Pipeline aufnehmen. Bei Pipelineläufen ist Python bereits installiert, und der Code kann mit allen Python-System-Librarys ausgeführt werden.
In diesem Beispiel werden keine Python-Drittanbieter-Librarys verwendet. Sie steuern die installierten Python-Librarys und -Umgebungen, indem Sie die Pipeline in einer Conda-Umgebung verwenden.
Bash- oder Shellskripte
Sie können eine einzelne Skriptdatei wie in diesem Beispiel oder eine komplexere Datei verwenden:
#!/bin/bash
var=$1
if [ -z "$var" ]
then
echo "no argument provided"
exit 100
else
while [ "$1" != "" ]; do
echo "Received: ${1}" && shift;
done
fi
Es wird nur Bash auf Oracle Linux unterstützt.
Komprimierte ZIP- oder Tar-Dateien
Oft sind Projekte komplexer und erfordern mehr Code, als in einer einzigen Datei möglich ist. Wenn Sie komplexe Python-Projekt- und Shellskripte haben, können Sie alle Dateien in einer einzigen ZIP-Datei archivieren und als Schrittartefakt verwenden. Mit einer Fat JAR-Datei können Sie Java-Code als Pipeline-Schritt ausführen.
Es gelten keine besonderen Anforderungen zum Schreiben von Python-Code oder Shellskript zur Ausführung als Pipeline. Sie können mit dem Parameter PIPELINE_STEP_RUN_ENTRYPOINT
auf die Hauptdatei verweisen, nachdem Sie das ZIP- oder komprimierte Tarartefakt hochgeladen haben.
Hinweise zu Archivdateien:
-
Archivieren Sie den gesamten Code in einem einzigen Verzeichnis.
-
Der Dateiname muss mit dem Root-Verzeichnisnamen übereinstimmen, den Sie mit
PIPELINE_STEP_RUN_ENTRYPOINT
festlegen.Die
STEP_RUN_ENTRYPOINT
wird auf der Seite "Ausführungsdetails" der Pipeline angezeigt, wenn sie verwendet wird.
Beginnen Sie mit dem Beispiel, indem Sie die Datei zipped_python_job.zip
herunterladen, entpacken und prüfen.
"environmentVariables": {
"PIPELINE_STEP_RUN_ENTRYPOINT": "zipped_python_pipeline/entry.py"
}
Beachten Sie, dass der Einstiegspunkt für die komplexe Pipeline anders lautet.
Führen Sie die folgenden Schritte aus, um eine Pipelineartefaktdatei zu erstellen:
-
Nachdem der Java-Code bereit ist, erstellen Sie eine Fat-JAR-Datei des Projekts mit einem Shellskript, das den Java-Hauptcode ausführt.
-
Erstellen Sie ein Root-Verzeichnis für den Projektcode.
Das gesamte Projekt muss sich unter einem Root-Verzeichnis befinden, damit es in eine Archivdatei komprimiert werden kann.
-
Erstellen Sie den Pipelinecode unter dem Root-Verzeichnis.
Der gesamte Pipelinecode muss sich im Root-Verzeichnis befinden.
-
Komprimieren Sie das Root-Verzeichnis in einer ZIP- oder komprimierten TAR-Datei.
Jetzt können Sie die Archivdatei als Pipelineartefakt hochladen, wenn Sie eine Pipeline erstellen. Fügen Sie beim Erstellen der Pipeline die PIPELINE_STEP_RUN_ENTRYPOINT
als benutzerdefinierte Umgebungsvariable in der Pipelinekonfiguration hinzu.