Préparation des artefacts d'étape de pipeline
Découvrez comment créer un artefact d'étape de pipeline à utiliser dans les pipelines et les exécutions de pipeline.
Les étapes de pipeline sont des artefacts qui incluent le code à exécuter à chaque étape. Ce code contient les scripts qui sont exécutés lors de l'exécution de l'étape de pipeline et qui sont définis dans l'étape de pipeline en tant qu'artefact unique.
Voici les types d'artefact de pipeline que vous pouvez utiliser :
Fichiers Python
L'artefact peut être un seul fichier Python simple qui contient le code permettant d'exécuter un pipeline, comme l'exemple de fichier Python suivant :
# simple pipeline step
import time
print(" This is a step in a pipeline.")
time.sleep(3)
print("Pipeline step done.")
Cette étape de pipeline imprime deux messages dont la durée de veille est de trois secondes. Vous pouvez enregistrer le code dans un fichier simple_pipeline_step.py
unique, puis l'inclure en tant qu'étape dans un pipeline. Les exécutions de pipeline disposent déjà de Python (préinstallé) et peuvent exécuter le code avec toutes les bibliothèques système Python.
Cet exemple n'utilise pas de bibliothèques Python tierces. Vous contrôlez les bibliothèques et environnements Python installés à l'aide de votre pipeline dans un environnement conda.
Scripts bash ou shell
Vous pouvez utiliser un fichier de script simple comme dans cet exemple, ou un fichier plus complexe :
#!/bin/bash
var=$1
if [ -z "$var" ]
then
echo "no argument provided"
exit 100
else
while [ "$1" != "" ]; do
echo "Received: ${1}" && shift;
done
fi
Seul Bash sur Oracle Linux est pris en charge.
Fichiers ZIP ou Tar compressés
Les projets sont souvent plus complexes et nécessitent plus de code que ce qui est possible dans un seul fichier. Si vous disposez de scripts shell et de projet Python complexes, vous pouvez archiver tous les fichiers dans un seul fichier zip et l'utiliser comme artefact d'étape. A l'aide d'un fichier fat JAR, vous pouvez exécuter du code Java en tant qu'étape de pipeline.
Il n'existe aucune exigence particulière concernant l'écriture de code Python ou de script shell pour son exécution en tant que pipeline. Vous pouvez pointer vers le fichier principal à l'aide du paramètre PIPELINE_STEP_RUN_ENTRYPOINT
après avoir chargé vers le serveur l'artefact ZIP ou TAR compressé.
Considérations relatives aux fichiers d'archive :
-
Archivez tout le code dans un seul répertoire.
-
Le nom de fichier doit correspondre au nom de répertoire racine que vous avez défini avec
PIPELINE_STEP_RUN_ENTRYPOINT
.STEP_RUN_ENTRYPOINT
apparaît sur la page Détails des exécutions de pipeline lorsqu'il est en cours d'utilisation.
Pour commencer avec l'exemple, téléchargez, décompressez et examinez le fichier zipped_python_job.zip
.
"environmentVariables": {
"PIPELINE_STEP_RUN_ENTRYPOINT": "zipped_python_pipeline/entry.py"
}
Le point d'entrée est différent pour le pipeline complexe.
Pour créer un artefact de pipeline, procédez comme suit :
-
Une fois le code Java prêt, créez un fichier FAT JAR du projet qui inclut un script shell exécutant le code principal Java.
-
Créez un répertoire racine pour le code du projet.
L'ensemble du projet doit se trouver sous un répertoire racine pour être compressé dans un fichier d'archive.
-
Créez le code de pipeline sous le répertoire racine.
Le code de pipeline dans son intégralité doit se trouver sous le répertoire racine.
-
Compressez le répertoire racine dans un fichier ZIP ou TAR compressé.
Vous pouvez désormais télécharger le fichier d'archive en tant qu'artefact de pipeline lorsque vous créez un pipeline. Lors de la création du pipeline, ajoutez PIPELINE_STEP_RUN_ENTRYPOINT
en tant que variable d'environnement personnalisée dans la configuration de pipeline.