¿Puedes pasar un binario de un host Jenkins a un agente?
Tengo Jenkins ejecutándose en Kubernetes y el complemento terraform instalado en mi maestro Jenkins con el binario ubicado en /var/jenkins_home/tools/org.jenkinsci.plugins.terraform.TerraformInstallation/terraform/terraform
Me gustaría pasar esto a mi agente de Jenkins configurando mi plantilla de pod y montando la ruta del volumen del host /var/jenkins_home/tools/org.jenkinsci.plugins.terraform.TerraformInstallation/terraform/terraform a la ruta del agente /usr/bin/terraform
Pero esto no parece funcionar como se esperaba.
Cuando entro en el agente y ejecuto una terraform version , aparece el error bash: terraform: command not found que indica que no tiene el binario.
Puedo ver un directorio terraform montado en /usr/bin pero sin el binario. Lo que espero es que se instale terraform en el agente. Pero mi pensamiento podría ser incorrecto aquí.
¿Es posible hacer esto, alguien tiene alguna experiencia con esto?
Como mencionó @David Maze, el binario de Jenkins debe instalarse manualmente en cada nodo, lo que puede ser difícil de administrar. Sin embargo, puede configurar Jenkins para ejecutar pasos de canalización dentro de un contenedor donde la imagen contiene las herramientas que necesita, lo que simplifica este caso.
Leer más: ejecución-env-jenkins .
Una alternativa es utilizar el complemento de configuración de esclavos . Lo usamos para instalar y configurar herramientas internas (y finales) en nodos basados en etiquetas. Un registro menos complicado que el enfoque de copia manual de @Malgorata (y nuestro anterior)
No estoy seguro de qué tan bien funciona con Kubernetes ya que no está en nuestra configuración.