Ich würde vorschlagen, den jenkins-Benutzer nicht als root auszuführen. Dies könnte das Betriebssystem und alle Repos, die Jenkins erstellen kann, offenlegen.
Das Ausführen eines beliebigen Skripts als root ist ein Sicherheitsrisiko, aber eine etwas sicherere Methode wäre, dem jenkins-Benutzer sudo-Zugriff zu gewähren, um nur das eine Skript auszuführen, ohne ein Passwort zu benötigen.
sudo visudo
und fügen Sie Folgendes hinzu:
jenkins ALL = NOPASSWD: /var/lib/jenkins/jobs/[job name]/workspace/script
Überprüfen Sie Ihren Pfad über das Konsolenprotokoll eines fehlgeschlagenen Build-Skripts. Der hier gezeigte ist der Standard.
Jetzt können Sie innerhalb der Jenkins-Aufgabe sudo $WORKSPACE/your script
aufrufen
Sie müssen die Berechtigung für jenkins
ändern Benutzer, damit Sie die Shell-Befehle ausführen können. Sie können die Jenkins als Dienst installieren (laden Sie das RPM-Paket herunter). Möglicherweise müssen Sie die Ports ändern, da standardmäßig http auf Port 8080 und AJP auf Port 8009 ausgeführt wird.
Der folgende Prozess ist für CentOS
1. Öffnen Sie dieses Skript (mit VIM oder einem anderen Editor):
vim /etc/sysconfig/jenkins
2. Finden Sie diese $JENKINS_USER
und wechseln Sie zu „root“:
$JENKINS_USER="root"
3. Ändern Sie dann den Besitz von Jenkins Home, Webroot und Protokollen:
chown -R root:root /var/lib/jenkins
chown -R root:root /var/cache/jenkins
chown -R root:root /var/log/jenkins
4) Starten Sie Jenkins neu und prüfen Sie, ob der Benutzer geändert wurde:
service jenkins restart
ps -ef | grep jenkins