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:
Puedes descargar la línea de comandos fly
para tu sistema operativo desde la web en 127.0.0.1:8080
Con Kubernetes (Recomendado)
Puedes desplegar concourse fácilmente en Kubernetes (en minikube por ejemplo) usando 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.
Steps
Se pueden utilizar varios tipos diferentes de pasos:
el
set_pipeline
step configura un pipelineel
load_var
step carga un valor en una var localel
in_parallel
step ejecuta pasos en paraleloel
do
step ejecuta pasos en secuenciael modificador de
across
step ejecuta un paso múltiples veces; una vez por cada combinación de valores de variableel
try
step intenta ejecutar un paso y tiene éxito incluso si el paso falla
Cada step en un job plan se ejecuta en su propio contenedor. Puedes ejecutar lo que desees dentro del contenedor (es decir, ejecutar mis pruebas, ejecutar este script bash, construir esta imagen, etc.). Así que 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 en el que cada paso necesita ser ejecutado.
Ejemplo de Pipeline Simple
Verifica 127.0.0.1:8080 para ver el flujo de la pipeline.
Script de Bash con pipeline de salida/entrada
Es posible guardar los resultados de una tarea en un archivo e indicar que es una salida y luego indicar 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.
Disparadores
No necesitas activar los trabajos manualmente cada vez que necesites ejecutarlos, también puedes programarlos para que se ejecuten cada vez:
Pasa un tiempo: Time resource
En nuevos commits a la rama principal: Git resource
Nuevas PR's: Github-PR resource
Obtener o enviar la última imagen de tu aplicación: Registry-image resource
Consulta un ejemplo de pipeline YAML que se activa con nuevos commits a master en https://concourse-ci.org/tutorial-resources.html
Last updated