Al configurar la canalización, se agregan tipos específicos de tareas que la canalización ejecuta para las acciones que necesita. Cada tipo de tarea se integra con otra aplicación y habilita la canalización a medida que compila, prueba y distribuye las aplicaciones.

Para ejecutar la canalización, ya sea que deba extraer artefactos de un repositorio para la implementación, ejecutar un script remoto o solicitar la aprobación de un miembro del equipo en una operación de usuario, VMware Code Stream tiene el tipo de tarea adecuado para usted.

Antes de utilizar una tarea en la canalización, compruebe que el endpoint correspondiente esté disponible.

Tabla 1. Obtención de una aprobación o establecimiento de un punto de decisión
Tipo de tarea Qué función tiene Ejemplos y detalles
Operación de usuario

Una tarea de Operación de usuario habilita una aprobación requerida que controla cuándo se ejecuta una canalización y cuándo debe detenerse para su aprobación.

Consulte Cómo ejecutar una canalización y ver los resultados. y Cómo se administran las autorizaciones y el acceso de los usuarios en Code Stream.

Condición

Agrega un punto de decisión, que determina si la canalización debe continuar ejecutándose o detenerse en función de las expresiones de condición. Cuando la condición es verdadera, la canalización ejecuta las tareas sucesivas. Cuando el valor es falso, la canalización se detiene.

Consulte Cómo utilizar enlaces de variables en una tarea de condición para ejecutar o detener una canalización en VMware Code Stream.

Tabla 2. Automatización de la implementación y la integración continua
Tipo de tarea Qué función tiene Ejemplos y detalles
Plantilla de nube

Implementa una plantilla de nube de automatización de GitHub y aprovisiona una aplicación, y automatiza la integración continua y entrega continua (Continuous Integration and Continuous Delivery, CICD) de esa plantilla de nube para la implementación.

Consulte Cómo automatizar la publicación de una aplicación implementada a partir de una plantilla de nube de YAML en Code Stream.
CI

La tarea de CI permite la integración continua del código en la canalización mediante la extracción de una imagen de compilación de Docker de un endpoint de registro y su implementación en un clúster de Kubernetes.

Consulte Planificar una compilación nativa de CICD en Code Stream antes de usar la plantilla de canalización inteligente.

Personalizada

La tarea personalizada integra VMware Code Stream con sus propias herramientas de compilación, prueba e implementación.

Consulte Cómo se integran las herramientas personalizadas de compilación, pruebas e implementación con Code Stream.

Kubernetes

Automatiza la implementación de las aplicaciones de software en clústeres de Kubernetes en AWS.

Consulte Cómo automatizar el lanzamiento de una aplicación en Code Stream en un clúster de Kubernetes.

Canalización

Anida una canalización en una canalización principal. Cuando se anida una canalización, esta funciona como una tarea en la canalización principal.

En la pestaña Tarea de la canalización principal, puede desplazarse fácilmente hasta la canalización anidada si hace clic en el vínculo que dirige a ella. La canalización anidada se abrirá en una nueva pestaña del explorador.

Para buscar canalizaciones anidadas en Ejecuciones, introduzca nested en el área de búsqueda.

Tabla 3. Integración de aplicaciones de desarrollo, prueba e implementación
Tipo de tarea... Lo que hace... Ejemplos y detalles...
Bamboo

Interactúa con un servidor de integración continua (continuous integration, CI) de Bamboo que crea, prueba e integra continuamente el software en preparación para la implementación, y activa las compilaciones de código cuando los desarrolladores confirman cambios. Expone las ubicaciones de los artefactos que genera la compilación de Bamboo para que la tarea pueda generar los parámetros de otras tareas que se utilizarán para la compilación y la implementación.

Conéctese a un endpoint de servidor de Bamboo e inicie un plan de compilación de Bamboo desde la canalización.

Jenkins

Activa los trabajos de Jenkins que compilan y prueban el código fuente, ejecuta casos de prueba y puede utilizar scripts personalizados.

Consulte Cómo se integra Code Stream con Jenkins.

TFS

Permite conectar la canalización a Team Foundation Server para administrar e invocar proyectos de compilación, incluidos los trabajos configurados que compilan y prueban código.

VMware Code Stream es compatible con Team Foundation Server 2013 y 2015.

vRO

Amplía la capacidad de VMware Code Stream mediante la ejecución de flujos de trabajo predefinidos o personalizados en vRealize Orchestrator.

Consulte Cómo se integra Code Stream con vRealize Orchestrator.

Tabla 4. Integración de otras aplicaciones a través de una API
Tipo de tarea... Lo que hace... Ejemplos y detalles...
REST

Integra VMware Code Stream con otras aplicaciones que utilizan REST API para que usted pueda desarrollar y distribuir continuamente aplicaciones de software que interactúen entre sí.

Consulte Cómo usar REST API para integrar VMware Code Stream con otras aplicaciones.

Sondeo

Invoca una instancia de REST API y la sondea hasta que la tarea de canalización cumple con los criterios de salida y se completa.

Un administrador de Code Stream puede establecer el recuento de sondeos en un máximo de 10.000. El intervalo de sondeo debe ser mayor o igual que 60 segundos.

Cuando se marca la casilla de verificación Continuar en caso de error, si el recuento o el intervalo superan estos valores, la tarea de sondeo continúa ejecutándose.

Consulte Cómo usar REST API para integrar VMware Code Stream con otras aplicaciones.

Tabla 5. Ejecución de scripts remotos y definidos por el usuario
Tipo de tarea Qué función tiene Ejemplos y detalles
PowerShell

Con la tarea de PowerShell, Code Stream puede ejecutar comandos de script en un host remoto. Por ejemplo, un script puede automatizar las tareas de prueba y ejecutar tipos de comandos administrativos.

El script puede ser remoto o definido por el usuario. Puede conectarse a través de HTTP o HTTPS, y puede utilizar TLS.

El host de Windows debe tener configurado el servicio winrm, y winrm debe tener configurados MaxShellsPerUser y MaxMemoryPerShellMB.

Para ejecutar una tarea de PowerShell, debe tener una sesión activa en el host de Windows remoto.

Longitud de línea de comandos de PowerShell

Si introduce un comando Base64 de PowerShell, tenga en cuenta que debe calcular la longitud general del comando.

La canalización Code Stream codifica y encapsula un comando Base64 de PowerShell en otro comando, lo que aumenta la longitud general del comando.

La longitud máxima permitida para un comando winrm de PowerShell es 8192 bytes. El límite de longitud del comando es inferior para la tarea de PowerShell cuando se codifica y se encapsula. Como resultado, debe calcular la longitud del comando antes de introducir el comando de PowerShell.

El límite de longitud del comando para la tarea Code Stream de PowerShell depende de la longitud codificada de Base64 del comando original. La longitud del comando se calcula de la siguiente manera.

3 * (length of original command / 4)) - (numberOfPaddingCharacters) + 77 (Length of Write-output command)

La longitud del comando para Code Stream debe ser inferior al límite máximo de 8192.

Al configurar MaxShellsPerUser y MaxMemoryPerShellMB:

  • El valor aceptable para MaxShellsPerUser es 500 para 50 canalizaciones simultáneas, con 5 tareas de PowerShell para cada canalización. Para establecer el valor, ejecute: winrm set winrm/config/winrs '@{MaxShellsPerUser="500"}'
  • El valor de memoria aceptable para MaxMemoryPerShellMB es 2048. Para establecer el valor, ejecute: winrm set winrm/config/winrs '@{MaxMemoryPerShellMB="2048"}'

El script escribe la salida en un archivo de respuesta que puede consumir otra canalización.

SSH

La tarea de SSH permite que la de tarea de script de shell de Bash ejecute comandos de script en un host remoto. Por ejemplo, un script puede automatizar las tareas de prueba y ejecutar tipos de comandos administrativos.

El script puede ser remoto o definido por el usuario. Puede conectarse a través de HTTP o HTTPS, y requiere una clave privada o una contraseña.

Se debe configurar el servicio SSH en el host de Linux y la configuración SSHD de MaxSessions se debe establecer en 50.

El script puede ser remoto o definido por el usuario. Por ejemplo, un script puede ser similar al siguiente:

message="Hello World" echo $message

El script escribe la salida en un archivo de respuesta que puede consumir otra canalización.