Adición de una etapa Shell

La etapa Shell permite ejecutar comandos personalizados en el pipeline de despliegue. Esta etapa se puede agregar en cualquier punto del pipeline de despliegue.

Debe preparar un archivo YAML de especificación de comando que contenga todos los pasos que desea ejecutar durante el despliegue. La especificación de comando se ejecuta en un host de instancia de contenedor en el compartimento y la subred de su arrendamiento seleccionados. Puede seleccionar una configuración de instancia diferente antes del despliegue. Consulte Detalles de tiempo de ejecución de imagen de contenedor de shell. Al ejecutar el pipeline de despliegue, puede ver la ejecución de los pasos definidos en la especificación de comando en la salida y los logs del pipeline. Para conocer la sintaxis y ver un ejemplo de la especificación de comando, consulte Especificación de comando.

Ventajas clave de la adición de una etapa Shell

  • Automatice los despliegues en plataformas de OCI, como mallas de servicios e instancias de contenedores, mediante la interfaz de línea de comandos de OCI y otras herramientas preinstaladas. Consulte Detalles de tiempo de ejecución de imagen de contenedor de shell.

    La interfaz de línea de comandos de OCI está autenticada previamente para utilizar el principal de recurso de pipeline para acceder a los recursos de OCI.

  • Ejecute una migración de esquema de base de datos mediante herramientas de línea de comandos como Oracle SQL Developer Command Line (SQLcl).
  • Utilice cualquier parámetro de pipeline haciendo referencia a dicho parámetro en la especificación. También puede sustituir los parámetros y las variables durante la ejecución del despliegue.
  • Realice pruebas de integración en artefactos antes del despliegue en producción.
  • Personalice el flujo de trabajo de DevOps. Por ejemplo, puede esperar a que haya algunos recursos listos antes de que el pipeline despliegue más recursos.

Antes de crear el pipeline, debe tener un proyecto de DevOps y un artefacto de especificación de comando. Los artefactos pueden estar definidos en línea o localizados en Artifact Registry.

    1. Abra el menú de navegación y haga clic en Servicios para desarrolladores. En DevOps, haga clic en Proyectos.
    2. Seleccione un proyecto y haga clic en Crear pipeline.
    3. Introduzca un nombre y una descripción para el pipeline. La adición de una descripción es opcional.
    4. En Tipo de pipeline, seleccione Crear un pipeline de despliegue.
    5. Haga clic en Crear pipeline.
    6. Para agregar una etapa al nuevo pipeline, haga clic en el icono + y seleccione Agregar etapa.
    7. Seleccione Integraciones - Shell y, a continuación, haga clic en Siguiente.
    8. Introduzca un nombre y una descripción opcional para la etapa.
    9. Haga clic en Seleccionar artefacto y, a continuación, seleccione el artefacto de especificación de comando disponible que desea desplegar.
    10. Seleccione el compartimento para crear la instancia de contenedor en la que se ejecuta la especificación.

      Puede conservar el compartimento por defecto que se muestra.

    11. Seleccione un dominio de disponibilidad.
    12. Seleccione una unidad para la instancia de contenedor de entre las opciones proporcionadas. También puede seleccionar el número de OCPU y la cantidad de memoria para la instancia.

      Se le cobra por la instancia de contenedor (en función de la unidad de computación seleccionada) durante el despliegue según el modelo de precios para las instancias de contenedor. Consulte Precios de instancias de contenedor.

      1. Seleccione una red virtual en la nube (VCN) y una subred regional en el arrendamiento. Puede seleccionar una subred pública o privada.

        Cuando se ejecuta el comando, se crea una tarjeta de interfaz de red virtual (VNIC) en la subred seleccionada. Asegúrese de que la subred tiene una ruta de red a OCI Container Registry. Si algún comando necesita gestionar otros recursos de OCI, también deberá asegurarse de que tanto la ruta de red como la política estén configuradas correctamente.

      2. (Opcional) Para restringir el acceso a su VCN, puede seleccionar grupos de seguridad de red (NSG) en sus VCN.
      3. (Opcional) Introduzca un valor de timeout (en segundos) para la etapa.
    13. (Opcional) Para agregar etiquetas al pipeline, haga clic en Mostrar opciones de etiquetado. El etiquetado es un sistema de metadatos que permite organizar los recursos de su arrendamiento y realizar su seguimiento.

      Si tiene permisos para crear un recurso, también los tiene para agregarle etiquetas de formato libre.

      Para agregar una etiqueta definida, debe tener permisos para utilizar el espacio de nombres de etiqueta.

      Para obtener más información, consulte Etiquetas de recurso.

    14. Para agregar la etapa al pipeline, haga clic en Agregar.

      Una vista previa de etapa proporciona una instantánea de la configuración.

    Agregue más etapas de forma secuencial o en paralelo al pipeline, según sea necesario. Para desplegar la salida de creación en el entorno de destino, ejecute el pipeline de despliegue.

    Para disparar automáticamente un despliegue desde el pipeline de creación, puede agregar una etapa Despliegue de disparador al pipeline de creación.

  • Para crear un pipeline de despliegue, ejecute el comando create:

    oci devops deploy-pipeline create --project-id

    Para crear una etapa Shell, ejecute el comando create-shell-stage:

    oci devops deploy-stage create-shell-stage

    Parámetros necesarios para el comando create-shell-stage:

    • --pipeline-id
    • --stage-predecessor-collection
    • --command-spec-artifact-id
    • --container-config

    Para obtener todos los comandos para deploy-pipeline y deploy-stage:

    oci devops deploy-pipeline -h
    oci devops deploy-stage -h

    Para obtener ayuda para el comando create-shell-stage:

    oci devops deploy-stage create-shell-stage -h
  • Para crear un pipeline de despliegue, utilice la operación CreateDeployPipeline.

    Para agregar una etapa Shell al pipeline, utilice la operación CreateDeployStage. Para el atributo deployStageType, especifique el valor SHELL.