Code Stream se puede integrar con vRealize Orchestrator (vRO) para ampliar su capacidad mediante la ejecución de flujos de trabajo de vRO. vRealize Orchestrator incluye muchos flujos de trabajo predefinidos que se pueden integrar con herramientas de terceros. Estos flujos de trabajo ayudan a automatizar y administrar los procesos de DevOps, automatizar operaciones en bloque, y más.

Por ejemplo, puede utilizar un flujo de trabajo en una tarea de vRO en la canalización para habilitar un usuario, quitar un usuario, mover máquinas virtuales, realizar integraciones con marcos de pruebas para probar el código mientras se ejecuta la canalización y mucho más. Puede buscar ejemplos de código para flujos de trabajo de vRealize Orchestrator en code.vmware.com.

Con un flujo de trabajo de vRealize Orchestrator, la canalización puede ejecutar una acción a medida que compila, prueba e implementa la aplicación. Puede incluir flujos de trabajo predefinidos en la canalización, o bien crear y utilizar flujos de trabajo personalizados. Cada flujo de trabajo incluye entradas, tareas y salidas.

Para ejecutar un flujo de trabajo de vRO en la canalización, el flujo de trabajo debe aparecer en la lista de flujos de trabajo disponibles de la tarea de vRO que incluya en la canalización.

Antes de que el flujo de trabajo pueda aparecer en la tarea de vRO en la canalización, un administrador debe realizar los siguientes pasos en vRealize Orchestrator:

  1. Aplicar la etiqueta CODESTREAM al flujo de trabajo de vRO.
  2. Marcar el flujo de trabajo de vRO como global.

Requisitos previos

  • Compruebe que puede acceder a una instancia local de vRealize Orchestrator como administrador. Para obtener ayuda, consulte a su propio administrador y la documentación de vRealize Orchestrator.
  • Compruebe si es un miembro de un proyecto en Code Stream. Si no lo es, solicite al administrador de Code Stream que lo agregue como miembro de un proyecto. Consulte Cómo agregar un proyecto en Code Stream.
  • En Code Stream, cree una canalización y agregue una etapa.

Procedimiento

  1. Como administrador, prepare un flujo de trabajo de vRealize Orchestrator para que la canalización se ejecute.
    1. En vRealize Orchestrator, busque el flujo de trabajo que necesita utilizar en la canalización, como un flujo de trabajo para habilitar un usuario.
      Si necesita un flujo de trabajo que no existe, puede crearlo.
    2. En la barra de búsqueda, introduzca Flujo de trabajo de etiqueta para buscar el flujo de trabajo con el nombre Flujo de trabajo de etiqueta.
    3. En la tarjeta llamada Flujo de trabajo de etiqueta, haga clic en Ejecutar, que muestra el área de configuración.
    4. En el área de texto Flujo de trabajo etiquetado, introduzca el nombre del flujo de trabajo que se utilizará en la canalización de Code Stream y, a continuación, selecciónelo en la lista.
    5. En las áreas de texto Etiqueta y Valor, introduzca CODESTREAM en mayúsculas.
    6. Haga clic en la casilla de verificación Etiqueta global.
    7. Haga clic en Ejecutar, que asocia la etiqueta con el nombre CODESTREAM al flujo de trabajo que debe seleccionar en la canalización de Code Stream.
    8. En el panel de navegación, haga clic en Flujos de trabajo y confirme que la etiqueta con el nombre CODESTREAM aparezca en la tarjeta de flujo de trabajo que ejecutará la canalización.
      Después de iniciar sesión en Code Stream y agregar una tarea de vRO a la canalización, el flujo de trabajo etiquetado aparece en la lista de flujos de trabajo.
  2. En Code Stream, cree un endpoint para la instancia de vRealize Orchestrator.
    1. Haga clic en Endpoints > Nuevo endpoint.
    2. Seleccione un proyecto.
    3. Introduzca un nombre pertinente.
    4. Introduzca la URL del endpoint de vRealize Orchestrator.
      Utilice este formato: https://vro-appliance.yourdomain.local:8281
      No utilice este formato: https://vro-appliance.yourdomain.local:8281/vco/api
      La URL de una instancia de vRealize Orchestrator incorporada al dispositivo de vRealize Automation es el FQDN del dispositivo sin un puerto. Por ejemplo: https://vra-appliance.yourdomain.local/vco
      En el caso de los dispositivos de vRealize Orchestrator externos a partir de vRealize Automation 8.x, el FQDN del dispositivo es https://vro-appliance.yourdomain.local.
      En el caso de los dispositivos de vRealize Orchestrator externos incluidos con vRealize Automation 7.x, el FQDN del dispositivo es https://vro-appliance.yourdomain.local:8281/vco.
      Si se produce un problema al agregar el endpoint, es posible que deba importar una configuración de YAML con una huella digital de certificado SHA-256 sin los dos puntos. Por ejemplo, B0:01:A2:72... se convierte en B001A272... El código de YAML de ejemplo es similar al siguiente:
      ```
      ---
      project: Demo
      kind: ENDPOINT
      name: external-vro
      description: ''
      type: vro
      properties:
        url: https://yourVROhost.yourdomain.local
        username: yourusername
        password: yourpassword
        fingerprint: <your_fingerprint>
      ```
    5. Haga clic en Aceptar certificado en caso de que la URL que introdujo necesite un certificado.
    6. Introduzca el nombre de usuario y la contraseña del servidor de vRealize Orchestrator.
      Si utiliza un usuario no local para la autenticación, debe omitir la parte del dominio del nombre de usuario. Por ejemplo, para autenticarse con [email protected] debe introducir svc_vro en el área de texto Nombre de usuario.
  3. Prepare la canalización para ejecutar la tarea de vRO.
    1. Agregue una tarea de vRO a la etapa de la canalización.
    2. Introduzca un nombre pertinente.
    3. En el área Propiedades de flujo de trabajo, seleccione el endpoint de vRealize Orchestrator.
    4. Seleccione el flujo de trabajo etiquetado como CODESTREAM en vRealize Orchestrator.
      Si selecciona un flujo de trabajo personalizado que creó, es posible que deba introducir los valores de los parámetros de entrada.
    5. En Ejecutar tarea, haga clic en Con condición.
      Si debe aplicar condiciones para la tarea vRealize Orchestrator, introdúzcalas en el área Condición.
    6. Introduzca las condiciones aplicables cuando se ejecuta la canalización.
      Cuándo ejecutar la canalización... Seleccionar condiciones...
      Con condición

      Ejecuta la tarea de canalización solo si la condición definida se evalúa como true. Si la condición es false, se omite la tarea.

      La tarea de vRO permite incluir una expresión booleana, que usa los siguientes operandos y operadores.

      • Variables de canalización, como ${pipeline.variableName}. Utilice únicamente llaves al introducir variables.
      • Variables de salida de tarea, como ${Stage1.task1.machines[0].value.hostIp[0]}.
      • Variables de enlace de canalización predeterminadas, como ${releasePipelineName}.
      • Valores booleanos que no distinguen entre mayúsculas y minúsculas, como true, false, 'true' y 'false'.
      • Valores enteros o decimales sin comillas.
      • Valores de cadena utilizados con comillas simples o dobles, como "test" y 'test'.
      • Tipos de valores de cadena y numéricos, como == Equals y != Not Equals.
      • Operadores relacionales, como >, >=, < y <=.
      • Lógica booleana, como && y ||.
      • Operadores aritméticos, como +, -, * y /.
      • Expresiones anidadas que utilizan corchetes.
      • Las cadenas que incluyen el valor literal ABCD se evalúan como false, por lo que se omite la tarea.
      • No se admiten operadores unarios.

      Una condición de ejemplo podría ser ${Stage1.task1.output} == “Passed” || ${pipeline.variableName} == 39

      Siempre Si selecciona Siempre, la canalización ejecuta la tarea sin condiciones.
    7. Introduzca un mensaje de saludo.
    8. Haga clic en Validar tarea y corrija los errores que se produzcan.
  4. Guarde, habilite y ejecute la canalización.
  5. Una vez que se ejecute la canalización, examine los resultados.
    1. Haga clic en Ejecuciones.
    2. Haga clic en la canalización.
    3. Haga clic en la tarea.
    4. Examine los resultados, el valor de entrada y las propiedades.
      Puede identificar el identificador de ejecución del flujo de trabajo, quién respondió a la tarea y cuándo, así como cualquier comentario que haya incluido.

Resultados

Enhorabuena. Ha etiquetado un flujo de trabajo de vRealize Orchestrator para su uso en Code Stream y agregado una tarea de vRO en la canalización de Code Stream para que ejecute un flujo de trabajo que automatiza una acción en su entorno de DevOps.

Ejemplo: Formato de salida de la tarea de vRO

El formato de salida de una tarea de vRO es similar a este ejemplo.

[{
                "name": "result",
                "type": "STRING",
                "description": "Result of workflow run.",
                "value": ""
},
{
                "name": "message",
                "type": "STRING",
                "description": "Message",
                "value": ""
}]

Qué hacer a continuación

Siga incluyendo tareas de flujo de trabajo de vRO en las canalizaciones para poder automatizar tareas en los entornos de desarrollo, pruebas y producción.