Como administrador o desarrollador de DevOps, puede crear scripts personalizados que amplíen la capacidad de Code Stream.
Con un script, puede integrar Code Stream con sus propias API y herramientas de integración continua (Continuous Integration, CI) y distribución continua (Continuous Delivery, CD) que compilan, prueban e implementan las aplicaciones. Los scripts personalizados son especialmente útiles si no se exponen las API de aplicaciones de manera pública.
El script personalizado puede hacer casi todo lo necesario para que las herramientas de compilación, pruebas e implementación se integren con Code Stream. Por ejemplo, el script puede funcionar con el área de trabajo de la canalización para tareas de integración continua que compilan y prueban la aplicación, así como para tareas de entrega continua que implementan la aplicación. Puede enviar un mensaje a Slack cuando finaliza una canalización, etc.
El área de trabajo de canalización de Code Stream admite Docker y Kubernetes para tareas de integración continua y tareas personalizadas.
Para obtener más información sobre la configuración del área de trabajo, consulte Configurar el área de trabajo de la canalización.
Escriba el script personalizado en uno de los lenguajes compatibles. En el script, incluya la lógica empresarial y defina las entradas y las salidas. Los tipos de salida pueden ser números, cadenas, texto y contraseñas. Puede crear varias versiones de un script personalizado con diferentes entradas, salidas y lógicas empresariales.
Los scripts que cree residirán en la instancia de Code Stream. Puede importar código YAML para crear una integración personalizada o exportar el script como un archivo YAML para utilizarlo en otra instancia de Code Stream.
Haga que la canalización ejecute una versión publicada del script en una tarea personalizada. Si tiene varias versiones publicadas, puede establecer una de ellas como la más reciente para que aparezca con la etiqueta más reciente --> cuando seleccione la tarea personalizada.
Cuando una canalización utiliza una integración personalizada y se intenta eliminarla, aparece un mensaje de error que indica que no se puede eliminar.
Al eliminar una integración personalizada, se eliminan todas las versiones de su script personalizado. Si tiene una canalización existente con una tarea personalizada que utiliza cualquier versión del script, se producirá un error en esa canalización. Para asegurarse de que no se produzcan errores en las canalizaciones existentes, puede descartar y retirar la versión del script que ya no desee utilizar. Si ninguna canalización utiliza esa versión, puede eliminarla.
Qué hacer... | Más información sobre esta acción... |
---|---|
Agregue una tarea personalizada a la canalización. |
La tarea personalizada:
|
Seleccione el script en la tarea personalizada. |
Declare las propiedades de entrada y de salida en el script. |
Guarde la canalización y, a continuación, habilítela y ejecútela. |
Cuando se ejecuta la canalización, la tarea personalizada llama a la versión del script especificado y ejecuta la lógica empresarial que contiene, lo que integra la herramienta de compilación, pruebas e implementación con Code Stream. |
Una vez que se ejecute la canalización, observe las ejecuciones. |
Compruebe que la canalización ha producido los resultados esperados. |
Cuando se utiliza una tarea personalizada que llama a una versión de integración personalizada, se pueden incluir variables de entorno personalizadas como pares nombre-valor en la pestaña Área de trabajo de la canalización. Cuando la imagen del compilador crea el contenedor del área de trabajo que ejecuta la tarea de CI e implementa la imagen, Code Stream envía las variables de entorno a ese contenedor.
Por ejemplo, cuando la instancia de Code Stream requiere un proxy web, y se utiliza un host de Docker a fin de crear un contenedor para una integración personalizada, Code Stream ejecuta la canalización y envía las variables de configuración del proxy web a ese contenedor.
Nombre | Valor |
---|---|
HTTPS_PROXY | http://10.0.0.255:1234 |
https_proxy | http://10.0.0.255:1234 |
NO_PROXY | 10.0.0.32, *.dept.vsphere.local |
no_proxy | 10.0.0.32, *.dept.vsphere.local |
HTTP_PROXY | http://10.0.0.254:1234 |
http_proxy | http://10.0.0.254:1234 |
PATH | /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin |
Los pares nombre-valor aparecen en la interfaz de usuario de la siguiente manera:
En este ejemplo, se crea una integración personalizada que conecta Code Stream con la instancia de Slack y publica un mensaje en un canal de Slack.
Requisitos previos
- Para escribir un script personalizado, asegúrese de tener uno de estos lenguajes: Python 2, Python 3, Node.js o cualquiera de estos lenguajes de shell: Bash, sh o zsh.
- Genere una imagen de contenedor mediante el tiempo de ejecución de Node.js o Python instalado.
Procedimiento
Resultados
Enhorabuena. Se creó un script de integración personalizada que conecta Code Stream con la instancia de Slack y publica un mensaje en un canal de Slack.
Qué hacer a continuación
Siga creando integraciones personalizadas para permitir el uso de tareas personalizadas en las canalizaciones, de modo que pueda ampliar la capacidad de Code Stream en la automatización del ciclo de vida de publicación de software.