Preparazione degli artifact del passo pipeline
Scopri come creare un artifact del passo della pipeline da utilizzare nelle pipeline e nelle esecuzioni della pipeline.
I passi della pipeline sono artifact che includono il codice da eseguire in ogni passo. Questo codice contiene gli script eseguiti durante l'esecuzione del passo della pipeline e vengono impostati nel passo della pipeline come un singolo artifact.
Di seguito sono riportati i tipi di artifact della pipeline che è possibile utilizzare.
File Python
L'artifact può essere un semplice file Python singolo che contiene il codice per eseguire una pipeline come questo esempio di file Python:
# simple pipeline step
import time
print(" This is a step in a pipeline.")
time.sleep(3)
print("Pipeline step done.")
Questo passo della pipeline stampa due messaggi con un intervallo di tempo di inattività di tre secondi. È possibile salvare il codice in un singolo file simple_pipeline_step.py
, quindi includerlo come passo in una pipeline. Le esecuzioni della pipeline forniscono già Python preinstallato e possono eseguire il codice con tutte le librerie di sistema Python.
In questo esempio non vengono utilizzate librerie Python di terze parti. È possibile controllare le librerie e gli ambienti Python installati utilizzando la pipeline in un ambiente conda.
Script Bash o Shell
È possibile utilizzare un singolo file script come in questo esempio o in un file più complesso:
#!/bin/bash
var=$1
if [ -z "$var" ]
then
echo "no argument provided"
exit 100
else
while [ "$1" != "" ]; do
echo "Received: ${1}" && shift;
done
fi
È supportato solo Bash su Oracle Linux.
File zip o Tar compressi
Spesso i progetti sono più complessi e richiedono più codice di quanto sia possibile in un singolo file. Se si dispone di script di progetto e shell Python complessi, è possibile archiviare tutti i file in un singolo file zip e utilizzarlo come artifact del passo. Utilizzando un file JAR grasso, è possibile eseguire il codice Java come passo della pipeline.
Non ci sono requisiti speciali su come scrivere codice Python o script shell per eseguirlo come pipeline. È possibile puntare al file principale utilizzando il parametro PIPELINE_STEP_RUN_ENTRYPOINT
dopo aver caricato il file zip o l'artifact tar compresso.
Considerazioni sul file dell'archivio:
-
Archiviare il codice in un'unica directory.
-
Il nome del file deve corrispondere al nome della directory root impostato con
PIPELINE_STEP_RUN_ENTRYPOINT
.Il valore
STEP_RUN_ENTRYPOINT
viene visualizzato nella pagina Dettagli esecuzioni pipeline quando è in uso.
Per iniziare a utilizzare l'esempio, scaricare, decomprimere ed esaminare il file zipped_python_job.zip
.
"environmentVariables": {
"PIPELINE_STEP_RUN_ENTRYPOINT": "zipped_python_pipeline/entry.py"
}
Il punto di accesso è diverso per la pipeline complessa.
Utilizzare i passi riportati di seguito per creare un file artifact pipeline.
-
Dopo aver preparato il codice Java, creare un file JAR grasso del progetto che includa uno script shell che esegua il principale Java.
-
Creare una directory radice per il codice del progetto.
L'intero progetto deve trovarsi in una directory root per comprimerlo in un file di archivio.
-
Creare il codice della pipeline nella directory radice.
Il codice pipeline nella sua interezza deve trovarsi nella directory radice.
-
Comprimere la directory root in un file zip o tar compresso.
Ora è possibile caricare il file di archivio come artifact pipeline quando si crea una pipeline. Quando si crea la pipeline, aggiungere PIPELINE_STEP_RUN_ENTRYPOINT
come variabile di ambiente personalizzata nella configurazione della pipeline.