Suggerirei di non eseguire l'utente jenkins come root. Ciò potrebbe esporre il sistema operativo e tutti i repository che jenkins può creare.
L'esecuzione di qualsiasi script come root è un rischio per la sicurezza, ma un metodo leggermente più sicuro sarebbe concedere all'utente jenkins l'accesso sudo per eseguire solo uno script, senza bisogno di una password.
sudo visudo
e aggiungi quanto segue:
jenkins ALL = NOPASSWD: /var/lib/jenkins/jobs/[job name]/workspace/script
Ricontrolla il tuo percorso tramite il registro della console di uno script di compilazione non riuscito. Quello mostrato qui è quello predefinito.
Ora all'interno dell'attività jenkins puoi chiamare sudo $WORKSPACE/your script
Devi modificare l'autorizzazione per jenkins
user in modo da poter eseguire i comandi della shell. Puoi installare jenkins come servizio (scarica il pacchetto rpm), potresti dover cambiare le porte perché per impostazione predefinita esegue http su 8080 e AJP su porta 8009.
Il seguente processo è per CentOS
1. Apri questo script (usando VIM o un altro editor):
vim /etc/sysconfig/jenkins
2. Trova questo $JENKINS_USER
e cambia in "root":
$JENKINS_USER="root"
3. Quindi cambia la proprietà di Jenkins home, webroot e logs:
chown -R root:root /var/lib/jenkins
chown -R root:root /var/cache/jenkins
chown -R root:root /var/log/jenkins
4) Riavvia Jenkins e verifica che l'utente sia stato modificato:
service jenkins restart
ps -ef | grep jenkins