Je suggérerais de ne pas exécuter l'utilisateur jenkins en tant que root. Cela pourrait exposer le système d'exploitation et tous les référentiels que jenkins peut créer.
L'exécution de n'importe quel script en tant que root est un risque de sécurité, mais une méthode légèrement plus sûre consisterait à accorder à l'utilisateur jenkins un accès sudo pour n'exécuter qu'un seul script, sans avoir besoin d'un mot de passe.
sudo visudo
et ajoutez ce qui suit :
jenkins ALL = NOPASSWD: /var/lib/jenkins/jobs/[job name]/workspace/script
Vérifiez votre chemin via le journal de la console d'un script de construction ayant échoué. Celui affiché ici est celui par défaut.
Maintenant, dans la tâche jenkins, vous pouvez appeler sudo $WORKSPACE/your script
Vous devez modifier l'autorisation pour jenkins
user afin que vous puissiez exécuter les commandes shell. Vous pouvez installer le jenkins en tant que service (téléchargez le package rpm). Vous devrez peut-être modifier les ports car, par défaut, il exécute http sur le port 8080 et AJP sur le port 8009.
Le processus suivant est pour CentOS
1. Ouvrez ce script (à l'aide de VIM ou d'un autre éditeur) :
vim /etc/sysconfig/jenkins
2. Trouvez ce $JENKINS_USER
et passez à "root":
$JENKINS_USER="root"
3. Changez ensuite le propriétaire de Jenkins home, webroot et logs :
chown -R root:root /var/lib/jenkins
chown -R root:root /var/cache/jenkins
chown -R root:root /var/log/jenkins
4) Redémarrez Jenkins et vérifiez que l'utilisateur a bien été modifié :
service jenkins restart
ps -ef | grep jenkins