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.

  1. Dopo aver preparato il codice Java, creare un file JAR grasso del progetto che includa uno script shell che esegua il principale Java.

  2. 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.

  3. Creare il codice della pipeline nella directory radice.

    Il codice pipeline nella sua interezza deve trovarsi nella directory radice.

  4. 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.