El usuario de Jenkins no puede copiar archivos a la carpeta Apache /var/www: todos los permisos son apropiados

El usuario de Jenkins no puede copiar archivos a la carpeta Apache /var/www: todos los permisos son apropiados

Jenkins está instalado en Ubuntu 18.04 y se ejecuta correctamente.

Como parte del proceso de creación de nuestro proyecto, necesitamos copiar los archivos creados a una carpeta específica en /var/www/html(carpeta Apache). Nuestro shell de compilación/ejecución:

npm install
ng build --prod
cp -R /var/lib/jenkins/workspace/kagi-core/dist/core/* /var/www/html/kagi-core/

Pero la compilación de jenkins falla en el comando de copia final con los siguientes errores:

23:18:10 + cp -R /var/lib/jenkins/workspace/kagi-core/dist/core/3rdpartylicenses.txt /var/lib/jenkins/workspace/kagi-core/dist/core/assets ...
23:18:10 cp: cannot create regular file '/var/www/html/kagi-core/3rdpartylicenses.txt': Permission denied
...
...

Esto es lo que hicimos/probamos hasta ahora:

  1. Se agregó el usuario "jenkins" a los grupos root y ubuntu.

     ubuntu@ip-172-31-15-215:/var/www/html$ groups jenkins
     jenkins : jenkins root ubuntu
    
  2. Se cambiaron los permisos en las carpetas /var/www/html/kagi-core al usuario "jenkins".

     drwxr-xr-x  3 ubuntu jenkins 4096 Sep 17 21:36 www
     ..
     drwxr-xr-x  3 ubuntu jenkins 4096 Sep 18 21:04 html
     ..
     drwxrwxrwx 4 ubuntu jenkins  4096 Sep 18 21:18 kagi-core
    

¿Qué nos falta? ¡Agradezco cualquier ayuda!

Respuesta1

Mientras intentaba solucionar este problema, encontré la solución. Agregando aquí como referencia:

Al observar con atención, los permisos a /var/wwwlas carpetas, son como

drwxr-xr-x 3 ubuntu jenkins 4096 Sep 17 21:36 www

pero deberían ser al revés (permitir al usuario "jenkins" el grupo predeterminado):

drwxr-xr-x 3 jenkins ubuntu 4096 Sep 17 21:36 www

También restablecemos el grupo a los valores predeterminados.root

Entonces el comando que resolvió el problema fue

cd /var
sudo chown -R jenkins:root www/

Después de esto, las compilaciones de jenkins fueron exitosas (se pudieron copiar a la /var/www/htmlcarpeta).

información relacionada