Concourse Lab Creation
Entorno de Pruebas
Ejecutando Concourse
Con Docker-Compose
Este archivo docker-compose simplifica la instalación para realizar algunas pruebas con concourse:
Puede descargar la línea de comandos fly
para su sistema operativo desde la web en 127.0.0.1:8080
Con Kubernetes (Recomendado)
Puede desplegar fácilmente concourse en Kubernetes (en minikube, por ejemplo) utilizando el helm-chart: concourse-chart.
Después de generar el entorno de concourse, podrías generar un secreto y dar acceso al SA que se ejecuta en concourse web para acceder a los secretos de K8s:
Crear Pipeline
Un pipeline está compuesto por una lista de Jobs que contiene una lista ordenada de Steps.
Pasos
Se pueden utilizar varios tipos de pasos diferentes:
el paso
set_pipeline
configura un pipelineel paso
in_parallel
ejecuta pasos en paraleloel paso
do
ejecuta pasos en secuenciael modificador de paso
across
ejecuta un paso múltiples veces; una vez por cada combinación de valores de variablesel paso
try
intenta ejecutar un paso y tiene éxito incluso si el paso falla
Cada paso en un plan de trabajo se ejecuta en su propio contenedor. Puedes ejecutar lo que quieras dentro del contenedor (es decir, ejecutar mis pruebas, ejecutar este script bash, construir esta imagen, etc.). Por lo tanto, si tienes un trabajo con cinco pasos, Concourse creará cinco contenedores, uno para cada paso.
Por lo tanto, es posible indicar el tipo de contenedor que cada paso necesita para ejecutarse.
Ejemplo de Pipeline Simple
Comprueba 127.0.0.1:8080 para ver el flujo del pipeline.
Script Bash con pipeline de entrada/salida
Es posible guardar los resultados de una tarea en un archivo e indicar que es una salida y luego señalar la entrada de la siguiente tarea como la salida de la tarea anterior. Lo que hace concourse es montar el directorio de la tarea anterior en la nueva tarea donde puedes acceder a los archivos creados por la tarea anterior.
Triggers
No necesitas activar los trabajos manualmente cada vez que necesites ejecutarlos, también puedes programarlos para que se ejecuten cada vez que:
Pase cierto tiempo: Recurso de tiempo
Hay nuevos commits en la rama principal: Recurso Git
Nuevos PR's: Recurso Github-PR
Obtener o subir la última imagen de tu aplicación: Recurso Registry-image
Consulta un ejemplo de pipeline YAML que se activa con nuevos commits en master en https://concourse-ci.org/tutorial-resources.html
Última actualización