Sugeriría no ejecutar el usuario jenkins como root. Esto podría exponer el sistema operativo y todos los repositorios que jenkins puede construir.
Ejecutar cualquier secuencia de comandos como root es un riesgo para la seguridad, pero un método un poco más seguro sería otorgar al usuario de jenkins acceso sudo para ejecutar solo una secuencia de comandos, sin necesidad de una contraseña.
sudo visudo
y agrega lo siguiente:
jenkins ALL = NOPASSWD: /var/lib/jenkins/jobs/[job name]/workspace/script
Vuelva a verificar su ruta a través del registro de la consola de un script de compilación fallido. El que se muestra aquí es el predeterminado.
Ahora dentro de la tarea de jenkins puedes llamar a sudo $WORKSPACE/your script
Necesitas modificar el permiso para jenkins
usuario para que pueda ejecutar los comandos de shell. Puede instalar jenkins como servicio (descargue el paquete rpm). Es posible que deba cambiar los puertos porque, de forma predeterminada, ejecuta http en 8080 y AJP en el puerto 8009.
El siguiente proceso es para CentOS
1. Abra este script (usando VIM u otro editor):
vim /etc/sysconfig/jenkins
2. Encuentra este $JENKINS_USER
y cambiar a "raíz":
$JENKINS_USER="root"
3. Luego cambie la propiedad de Jenkins home, webroot y logs:
chown -R root:root /var/lib/jenkins
chown -R root:root /var/cache/jenkins
chown -R root:root /var/log/jenkins
4) Reinicie Jenkins y verifique que el usuario haya cambiado:
service jenkins restart
ps -ef | grep jenkins