He estado jugando con Jenkins y ahora puedo conectar github y configurar activadores. Quiero compilar mi código usando make y docker, sin embargo, cuando ejecuto make o docker en el shell, no se encuentran. ¿Cómo configuro el paso de compilación de Jenkins para ejecutar make y docker?

0
edmamerto 19 feb. 2018 a las 11:59

2 respuestas

La mejor respuesta

Instalaría make y docker daemon en su servidor Jenkins. Esto le permitirá crear y enviar imágenes de la ventana acoplable desde dentro de sus canalizaciones de compilación de Jenkins mediante la tarea de compilación Executable Shell. También podrá ejecutar comandos make allí.

docker build -t <USER>/<REPO_NAME>:<TAG> .
docker push <USER>/<REPO_NAME>:<TAG> 

También hay complementos de Jenkins disponibles para crear sus imágenes de Docker.

NO recomendaría ejecutar Jenkins con un contenedor Docker y luego ejecutar Docker dentro de ese contenedor. Esto se conoce como Docker en Docker (también conocido como DinD) y debe evitarse por las razones indicadas en este artículo.

1
grizzthedj 19 feb. 2018 a las 13:40

Puede instalar Docker en la misma máquina donde se ejecuta su jenkins.

O puede ejecutar un contenedor docker que contenga jenkins y docker.

Si su propósito es aprender jenkins, le sugiero que ejecute Jenkins dentro de una ventana acoplable y un demonio de Docker en su máquina host.

  1. simplemente instale Docker en su máquina host.

  2. luego emita el comando que se ejecuta

    Docker ejecutar \ --rm -u root -p 8080: 8080 -v /var/run/docker.sock:/var/run/docker.sock --name myjenkinsserver jenkinsci / blueocean

Entonces estás listo para empezar.

  1. agregue un trabajo de canalización de la siguiente manera:

    canalización { agente {docker 'gcc: latest'} etapas { stage ('build') { pasos { sh 'make --version' } } } }

  2. ahora puede ejecutar comandos make.

En general, es mejor ejecutar trabajos de Jenkins en máquinas esclavas Jenkins o, en otros términos, agentes Jenkins. Puede crear agentes Jenkins personalizados que incluyan las herramientas necesarias, en su caso, como make.

1
Muatik 19 feb. 2018 a las 11:09