Hello Jenkins: Como root

En el post Hello Jenkins, exploré cómo podría automatizar el deploy de un site estático simple con ayuda de Jenkins.

Este site estático está alojado en mi directorio web personal ~/public_html. Para que Jenkins pudiera hacer pull allí, fue necesario que tuviera derechos sobre los archivos de ese directorio, así que opté por agregarlo a mi grupo de usuario.

Ahora exploro cómo sería si quisiera que Jenkins pudiera hacer pull en el directorio web /var/www.

En mi Jenkins, proyecto hello-jenkins, Configuration, Source Code Management:

  • En Aditional Behaviours, pruebo agregar:
    • Chek out to a sub-directory
      • Local sub-directory for repo:
        /var/www/html/demos/hello-jenkins/
Una prueba muestra un error de acceso al directorio. Probé agregar jenkins al grupo sudo y tambien visudo, pero no pude solucionarlo.

  • $ sudo usermod -a -G sudo jenkins
  • $ sudo visudo
Opto por agregar el siguiente script en Build:
  • echo "hello-jenkins build"
  • cd /var/www/html/demos/hello-jenkins
  • sudo git pull
Hago la prueba y funciona como se espera. Se hace pull al hello-jenkins en mi directorio personal public_html/ y tambien en el directorio web /var/www/.