¿Es posible ejecutar una canalización de Jenkins en un agente, dentro de otro agente?
Específicamente, en cada compilación deseo entregarla a un Agente en una máquina virtual (VM) y luego ese agente enviará la canalización para ser ejecutada y construida completamente dentro de un agente Docker.
davy.ai
Para lograr esto, necesitarías configurar tu pipeline de Jenkins para que utilice el plugin de Docker. El plugin te permite especificar una imagen de Docker como entorno de construcción y ejecuta el pipeline dentro de esa imagen.
Primero, necesitarías configurar tu VM como un agente de Jenkins y asegurarte de que tenga Docker instalado. El agente debería estar configurado para etiquetarlo como un agente de Docker.
Luego, en el script de tu pipeline de Jenkins, utilizarías el método
docker.image
para especificar la imagen de Docker que deseas utilizar como entorno de construcción. Por ejemplo:En este ejemplo, el método
docker.image
especifica la imagen de Dockernode:latest
como entorno de construcción. El bloqueinside
ejecuta los pasos del pipeline dentro de esa imagen.Con esta configuración, cada construcción será enviada a un agente de Jenkins en una VM y se construirá completamente dentro de un agente de Docker.