Preparación de artefactos de paso de pipeline

Descubra cómo crear un artefacto de paso de pipeline para utilizarlo en pipelines y ejecuciones de pipeline.

Los pasos del pipeline son artefactos que incluyen el código que se va a ejecutar en cada paso. Este código contiene los scripts que se ejecutan durante la ejecución del paso de pipeline y se definen en el paso de pipeline como un solo artefacto.

Estos son los tipos de artefactos de pipeline que puede utilizar:

Archivos Python

El artefacto puede ser un archivo Python simple y único que contiene código para ejecutar un pipeline como este ejemplo de archivo Python:

# simple pipeline step
import time
 
print(" This is a step in a pipeline.")
time.sleep(3)
print("Pipeline step done.")

Este paso del pipeline imprime dos mensajes con un tiempo de espera de tres segundos entre ambos. Puede guardar el código en un único archivo simple_pipeline_step.py y, a continuación, incluirlo como paso en un pipeline. Las ejecuciones de pipeline ya proporcionan Python preinstalado y pueden ejecutar el código con todas las bibliotecas del sistema Python.

En este ejemplo, no se utilizan bibliotecas Python de terceros. Puede controlar las bibliotecas y los entornos Python instalados utilizando su pipeline en un entorno conda.

Scripts de shell o bash

Puede utilizar un único archivo de script como en este ejemplo o uno más complejo:

#!/bin/bash
var=$1
if [ -z "$var" ]
then
      echo "no argument provided"
      exit 100
else
      while [ "$1" != "" ]; do
        echo "Received: ${1}" && shift;
      done
fi

Solo se admite Bash en Oracle Linux.

Archivos zip o Tar comprimidos

A menudo, los proyectos son más complejos y requieren más código del que es posible incluir en un solo archivo. Si tiene scripts complejos de shell y proyecto de Python, puede archivar todos los archivos en un único archivo zip y utilizarlo como artefacto de paso. Mediante un archivo Fat JAR, puede ejecutar código Java como un paso de pipeline.

No hay requisitos especiales sobre cómo escribir el código Python o el script de shell para ejecutarlo como un pipeline. Puede apuntar al archivo principal mediante el parámetro PIPELINE_STEP_RUN_ENTRYPOINT después de cargar el artefacto tar comprimido o el zip.

Consideraciones sobre el archivo de almacenamiento:

  • Archive todo el código en un solo directorio.

  • El nombre de archivo debe coincidir con el nombre del directorio raíz definido con PIPELINE_STEP_RUN_ENTRYPOINT.

    STEP_RUN_ENTRYPOINT aparece en la página Detalles de ejecuciones de pipeline cuando está en uso.

Para comenzar con el ejemplo, descargue, descomprima y examine el archivo zipped_python_job.zip.

"environmentVariables": {
    "PIPELINE_STEP_RUN_ENTRYPOINT": "zipped_python_pipeline/entry.py"
}

Tenga en cuenta que el punto de entrada es diferente para el pipeline complejo.

Utilice estos pasos para crear un archivo de artefacto de pipeline:

  1. Una vez que haya preparado el código Java, cree un archivo Fat JAR del proyecto que incluya un script de shell que ejecute el método principal de Java.

  2. Cree un directorio raíz para el código del proyecto.

    Todo el proyecto debe estar en un directorio raíz para comprimirlo en un archivo de almacenamiento.

  3. Cree el código de pipeline en el directorio raíz.

    El código de pipeline en su totalidad debe estar en el directorio raíz.

  4. comprimir el directorio raíz en un archivo tar o zip.

Ahora, puede cargar el archivo de almacenamiento como artefacto de pipeline al crear un pipeline. Al crear el pipeline, agregue PIPELINE_STEP_RUN_ENTRYPOINT como variable de entorno personalizada en la configuración del pipeline.