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, Code Stream tiene el tipo de tarea adecuado para usted.
Code Stream admite la cancelación de una ejecución de canalización en varios tipos de tareas. Al hacer clic en Cancelar en la ejecución de una canalización, la tarea, la etapa o toda la canalización entran en estado de cancelación y se cancela la ejecución de la canalización.
- Jenkins
- SSH
- PowerShell
- Operación de usuario
- Canalización
- Plantilla de nube
- vRO
- Sondeo
Code Stream no propaga el comportamiento de cancelación a sistemas de terceros para estas tareas: integración continua, integración personalizada o Kubernetes. Code Stream marca la tarea como cancelada e inmediatamente deja de recuperar el estado sin esperar a que finalice la tarea. La tarea puede completarse o generar un error en el sistema de terceros, pero deja de ejecutarse de inmediato en Code Stream al hacer clic en Cancelar.
Antes de utilizar una tarea en la canalización, compruebe que el endpoint correspondiente esté disponible.
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. |
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. Los parámetros de la plantilla de nube aparecen después de que selecciona Crear o Actualizar y, a continuación, selecciona Plantilla de nube y Versión. Puede agregar estos elementos, que admiten enlaces de variables, a las áreas de texto de entrada de la tarea de plantilla de nube:
Cuando utilice el enlace de variables en la entrada, tenga en cuenta estas excepciones. Para enumeraciones, debe seleccionar un valor de enumeración de un conjunto fijo. Para valores booleanos, debe introducir el valor en el área de texto de entrada. El parámetro de plantilla de nube aparece en la tarea de plantilla de nube cuando una plantilla de nube de Cloud Assembly contiene variables de entrada. Por ejemplo, si una plantilla de nube tiene un tipo de entrada |
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. La tarea de CI muestra 100 líneas del registro como salida y 500 líneas cuando se descargan los registros. Las tareas de CI requieren puertos efímeros del 32768 al 61000. |
|
Personalizada | La tarea personalizada integra Code Stream con sus propias herramientas de compilación, prueba e implementación. |
|
Kubernetes | Controle la implementación de las aplicaciones de software en los clústeres de Kubernetes. |
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. |
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. |
Para conocer las versiones de Team Foundation Server compatibles con Code Stream, consulte Qué son los endpoints en Code Stream. |
vRO | Amplía la capacidad de Code Stream mediante la ejecución de flujos de trabajo predefinidos o personalizados en vRealize Orchestrator. Code Stream admite autenticación básica y basada en tokens para vRealize Orchestrator. Code Stream usa el token de la API para autenticar y validar el clúster de vRealize Orchestrator. Con la autenticación basada en tokens, Code Stream admite endpoints de vRealize Orchestrator que usan un proxy de extensibilidad de nube. Como resultado, en Code Stream se pueden activar flujos de trabajo con un endpoint de vRealize Orchestrator que utilice el proxy de extensibilidad de nube. |
Consulte Cómo se integra Code Stream con vRealize Orchestrator. |
Tipo de tarea... | Lo que hace... | Ejemplos y detalles... |
---|---|---|
REST | Integra 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 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 Code Stream con otras aplicaciones. |
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.
La longitud del comando para Code Stream debe ser inferior al límite máximo de 8192. |
Al configurar MaxShellsPerUser y MaxMemoryPerShellMB:
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. Si ejecuta muchas tareas SSH al mismo tiempo, aumente
La tarea SSH no admite claves privadas de tipo OpenSSH. Genere el par de claves pública/privada mediante uno de los siguientes métodos:
Nota: Compruebe que la clave generada no muestre el mensaje
BEGIN OPENSSH PRIVATE KEY.
Si la clave pública generada es una clave autorizada en la máquina remota, consulte uno de los siguientes artículos para cambiar el formato privado OpenSSH:
Al configurar la tarea de SSH, la clave privada debe introducirse en texto sin formato. Al guardar la clave como una variable o entrada, se cambia el formato de la clave y no se puede ejecutar la tarea de canalización. |
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. |