Concourse Lab Creation
Last updated
Last updated
Aprende y practica Hacking en AWS:HackTricks Training AWS Red Team Expert (ARTE) Aprende y practica Hacking en GCP: HackTricks Training GCP Red Team Expert (GRTE)
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
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:
Un pipeline está compuesto por una lista de Jobs que contiene una lista ordenada de Steps.
Se pueden utilizar varios tipos diferentes de pasos:
el set_pipeline
step configura un pipeline
el load_var
step carga un valor en una var local
el in_parallel
step ejecuta pasos en paralelo
el do
step ejecuta pasos en secuencia
el modificador across
step ejecuta un paso múltiples veces; una vez por cada combinación de valores de variable
el try
step intenta ejecutar un paso y tiene éxito incluso si el paso falla
Cada step 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.). 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.
Verifica 127.0.0.1:8080 para ver el flujo de la pipeline.
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.
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
Aprende y practica Hacking en AWS:HackTricks Training AWS Red Team Expert (ARTE) Aprende y practica Hacking en GCP: HackTricks Training GCP Red Team Expert (GRTE)