Wie starte ich Jenkins manuell neu?

816

Ich habe gerade angefangen, mit Jenkins zu arbeiten und bin auf ein Problem gestoßen. Nach der Installation mehrerer Plugins wurde angegeben, dass ein Neustart erforderlich ist, und der Modus "Herunterfahren" wurde aktiviert, jedoch nie neu gestartet.

Wie führe ich einen manuellen Neustart durch?

Kerry Jones
quelle
34
Hinweis: "Jenkins wird heruntergefahren" wird nicht heruntergefahren, sondern benachrichtigt lediglich die verschiedenen Benutzer, die möglicherweise etwas erstellen möchten, dass Jenkins bald neu gestartet wird.
Khez
1
Etwas zu beachten, dass ich nicht bemerkt habe, dass jemand anderes erwähnt hat ... Wenn Sie Jenkins in den Shutdown-Modus versetzen, wird es nicht tatsächlich heruntergefahren, was erwähnt wurde. Was nicht bemerkt wurde, ist, dass es das Starten neuer Builds verhindert. Wenn Sie einen Build vor dem Neustart abschließen müssen, sollten Sie Jenkins in den Shutdown-Modus versetzen, Ihren Build beenden und dann Ihren "Neustart" mit einer der oben gewählten Methoden durchführen.
TheRedSeth
Da Jenkins nach Version 1.442 nach der Installation neuer Plug- Ins nicht neu gestartet werden muss , verwenden Sie " Installation ohne Neustart" . Leider funktioniert diese Funktion nicht zum Aktualisieren oder Deinstallieren.
luka5z

Antworten:

1942

Um Jenkins manuell neu zu starten, können Sie einen der folgenden Befehle verwenden (indem Sie deren URL in einen Browser eingeben):

(jenkins_url)/safeRestart- Ermöglicht das Abschließen aller laufenden Jobs. Neue Jobs bleiben in der Warteschlange, um nach Abschluss des Neustarts ausgeführt zu werden.

(jenkins_url)/restart - Erzwingt einen Neustart, ohne auf den Abschluss der Builds zu warten.

Željko Filipin
quelle
14
Informationen zu safeRestart finden Sie unter stackoverflow.com/a/15555339/260122 java -jar /var/cache/jenkins/war/WEB-INF/jenkins-cli.jar -s http://localhost:8080/ safe-restart (falls mit U / min oder deb installiert, andernfalls entsprechend anpassen).
Clacke
13
Dies führt RestartNotSupportedExceptionin Jenkins 1.532.1 mit IcedTea 2.3.9 zu einem. sudo /etc/init.d/jenkins restarthat aber für mich gearbeitet.
Matthias Braun
4
Verwenden Sie in Windows den Windows-Dienst anstelle der Befehlszeile.
Mag
8
Gibt es interne Links von Jenkins, um dies zu tun, anstatt sich an magische URLs zu erinnern?
Rogerdpack
5
Ist dies nicht in der Web-GUI verfügbar?
Realtebo
182

Wenn Sie als RPM oder Deb installiert haben , service jenkins restartfunktioniert dies auch.

Ben Mathews
quelle
115

Unter Ubuntu oder Debian bei Installation über apt-get/ dpkg:

$ sudo /etc/init.d/jenkins restart
Usage: /etc/init.d/jenkins {start|stop|status|restart|force-reload}
Timo Tijhof
quelle
1
https://support.cloudbees.com/hc/en-us/articles/216118748-How-to-Start-Stop-or-Restart-your-Instance- sagt WICHTIG: Starten Sie die Methoden start | stop | restart nicht manuell als $ sudo /etc/init.d/jenkins start | stop | restart, da Ihr Dienst dadurch unzuverlässig wird, da er die Umgebung vom Root-Benutzer aufnimmt, im Gegensatz zu einer sauberen, zuverlässigen leeren Umgebung, die von den Init-Startern (service / systemctl) festgelegt wird ).
Battey
96

Das SafeRestart Plugin muss erwähnt werden. Es ist ziemlich nützlich ( Neustart sicher ). Es wird ein Link hinzugefügt, über den Sie über das Hauptmenü neu starten können:

Geben Sie hier die Bildbeschreibung ein

Vitalii Elenhaupt
quelle
Ich benutze diese Funktion oft für Plugin-Installationen.
Imdibiji
Seltsam, dass dieses Plugin standardmäßig nicht enthalten ist.
Abb.
70

Die folgenden Befehle funktionierten für mich unter Red Hat Linux und sollten auch für Ubuntu funktionieren.

  • Um den Status von Jenkins zu kennen:

    sudo service jenkins status
    
  • So starten Sie die Jenkins:

    sudo service jenkins start
    
  • Um die Jenkins aufzuhalten:

    sudo service jenkins stop
    
  • So starten Sie die Jenkins neu:

    sudo service jenkins restart
    

Demo an der Eingabeaufforderung:

[root@varunHome]# sudo service jenkins status
jenkins (pid  7468) is running...

[root@varunHome]# sudo service jenkins stop
Shutting down Jenkins               [  OK  ]

[root@varunHome]# sudo service jenkins start
Starting Jenkins                    [  OK  ]

[root@varunHome]# sudo service jenkins restart
Shutting down Jenkins               [  OK  ]

Starting Jenkins                    [  OK  ]
[root@varunHome]#

Die Leute, die Fenster benutzen

Öffnen Sie die Konsole / Befehlszeile -> Wechseln Sie in Ihr Jenkins-Installationsverzeichnis. Führen Sie jeweils die folgenden Befehle aus:

To stop:
jenkins.exe stop

To start:
jenkins.exe start

To restart:
jenkins.exe restart

Varun
quelle
37

Wenn Sie es als Dienst installiert, gehen Sie unter Windows zu Services ( Start - → Run : services.msc), findet Jenkins, die rechte Maustaste → Neu starten .

Wenn dies nicht hilft (die Benutzeroberfläche reagiert nicht), öffnen Sie den Windows-Task-Manager → Prozesse , beenden Sie den java.exeProzess und starten Sie den Dienst erneut.

Konstantin
quelle
7
Der Versuch, / safeRestart unter Windows zu erreichen, führt zu: javax.servlet.ServletException: hudson.lifecycle.RestartNotSupportedException: Der Standard-Windows-Lebenszyklus unterstützt keinen Neustart.
x29a
1
Wenn /safeRestartnicht verfügbar, verwenden Sie diese Option, /safeExitbevor Sie sie manuell neu starten.
Jesse Glick
19

Wenn Sie Jenkins unter Mac OS X ausführen, können Sie den Dienst manuell beenden, indem Sie den folgenden Befehl ausführen:

sudo launchctl unload /Library/LaunchDaemons/org.jenkins-ci.plist
Jalal
quelle
1
Sie können dann mitload
Kraftydevil
17

Dies kann auch über die Jenkins-CLI erfolgen :

java -jar jenkins-cli.jar -s http://[jenkins-server]/ restart

Die jenkins-cli.jarDatei sowie eine vollständige Liste der Befehle finden Sie unter http://[jenkins-server]/cli.

Ciaran
quelle
12

Wenn Sie nur die Konfigurationsdatei neu laden möchten, können Sie dies tun

    <jenkins_url>/reload

Dies ist schneller, wenn Sie kleine Änderungen an der Konfigurationsdatei vorgenommen haben, z. B. config.xmldirekt im Dateisystem, oder Kopien des Jobs über das Dateisystem (nicht über den Browser) erstellt haben.

infoclogged
quelle
10

Es hängt davon ab, wie Jenkins gestartet wurde.

  • Als Service: sudo service jenkins restart, sudo /etc/init.d/jenkins restartusw.

  • Als Webanwendung in einer Tomcat-Installation: Starten Sie Ihren Tomcat neu oder starten Sie die Anwendung einfach in Tomcat neu. Gehen Sie zu http://<tomcat-server>:8080/manager/listoder nach der Authentifizierung und drücken Sie http://<tomcat-server>:8080/manager/stop?path=/myapp+ http://<tomcat-server>:8080/manager/start?path=/myapp.

  • Wird mit just java -jar: kill it ( kill -9 <pid>) gestartet und neu gestartet.

  • Gestartet mit java -jar, aber von einem Vorgesetzten:supervisorctl restart jenkins

François SAMIN
quelle
Wählen Sie einfach Ihren Anwendungsfall schöne Antwort!
user43968
8

Unter Windows

Gehen Sie zur Jenkins-Installation, öffnen Sie das cmd und führen Sie Folgendes aus:

  • Stoppen:

    jenkins.exe stop
    
  • Anfangen:

    jenkins.exe start
    
  • Neustarten:

    jenkins.exe restart
    
Monis Majeed
quelle
8

Manchmal gibt es einige veraltete Jenkins-Prozesse, also ps -ef | grep jenkinstöte sie alle. Starten Sie wie in den vorherigen Antworten beschrieben neu und es wird sauber sein.

ps -ef | grep jenkins
sudo kill -kill <pid>
Scharf
quelle
7

Wenn Sie FreeBSD ausführen:

/usr/local/etc/rc.d/jenkins restart
Eric Cope
quelle
5

Wenn Sie in einem Webbrowser darauf zugreifen können, fügen Sie /restartbeispielsweise Folgendes hinzu localhost:8080/restart:

Wenn Sie es als Dienst ausführen, melden Sie sich bei Ihrem Server an und führen Sie den folgenden Befehl aus:

sudo service jenkins stop/start
Rizwan Javid
quelle
4

So starten Sie Jenkins manuell über den Browser neu:

Geben Sie Ihre www.jenkins-ip/restart (zum Beispiel http://localhost:8080/restart) in den Browser ein. Jenkins startet neu und lädt die Anmeldeseite nach dem Neustart automatisch.

Vaibhav Walke
quelle
3

JenkinURL / restart führt den Neustart durch.


/usr/local/etc/rc.d/jenkins restart
Sebin
quelle
Ist /usr/local/etc/rc.d/jenkinaber keine URL (?). Können Sie das näher erläutern?
Peter Mortensen
3

Für Mac

Stoppen Sie Jenkins

sudo launchctl unload /Library/LaunchDaemons/org.jenkins-ci.plist

Starten Sie Jenkins

sudo launchctl load /Library/LaunchDaemons/org.jenkins-ci.plist
Sazzad Hissain Khan
quelle
3

Vom Terminal:

sudo service jenkins restart

Oder jenkinsurl/restart.

Sidhartha
quelle
3

Mehrere Personen haben die Notwendigkeit erwähnt, den Servlet-Container neu zu starten, wenn Jenkins nicht als eigenständiger Server ausgeführt wird. Tomcat (oder was verwendet wird) muss jedoch nicht neu gestartet werden. Tomcat kann einen Neustart des Jenkins-Kontexts erzwingen, wenn Ihr Jenkins-Neustart hängen bleibt.

Um einen anderen Kommentar anzusprechen: Wenn Sie Jenkins in den Modus "Herunterfahren" versetzen, wird es nicht tatsächlich heruntergefahren. Es verhindert, dass neue Jobs ausgeführt werden, und platziert ein riesiges rotes Banner auf den Systemseiten, sodass jeder weiß, dass der Administrator es irgendwann entfernen möchte. Es gibt Plugins, die einen Neustart des Servlet-Containers für diesen Kontext auslösen, nachdem alle Builds abgeschlossen sind.

Die Alternative besteht darin, zu warten, bis der letzte ausgeführte Job abgeschlossen ist, und dann Jenkins manuell aus dem Container zu entfernen (oder über die Befehlszeilenoptionen, die andere für die eigenständige Jenkins-Installation erwähnt haben).

Jason Robinson
quelle
3

Wenn es als War-Datei bereitgestellt wird, starten Sie den Anwendungsserver neu, z. B. Tomcat.

Scharf
quelle
2

Für CentOS :

sudo systemctl restart jenkins

sudo systemctl status Jenkins

Jenkins wird aktiv sein und auf einer PID laufen.

Aamir M Meman
quelle
2

Wenn es sich in einem Docker-Container befindet, können Sie Ihren Container einfach neu starten. Nehmen wir an, der Containername lautet jenkins, damit Sie Folgendes tun können:

docker restart jenkins

Oder

docker stop jenkins
docker start jenkins
Youssouf Maiga
quelle
Wichtig! Auf Docker - Jenkins-Daten müssen persistent sein (Sie können laufende Jobs, Ressourcen, Builds, Daten usw. verlieren). Seien Sie daher vorsichtig, verwenden Sie besser NICHT "Neustart" und verwenden Sie Stop and Start für Docker-Image. Die Lösung wäre: sudo docker ps -> sudo docker stop <dockerImageID> -> sudo docker start <dockerImageID>
avivamg
2

Sie haben viele Möglichkeiten, Jenkins manuell neu zu starten, aber hauptsächlich zwei (URL oder Befehlszeile):

  • Alternative 1: Verwenden der Jenkins-Installations-URL:

    Jenkins_URL/restart.

    Beispiel: http://jenkinsserver.com/restart

    Diese Art des Neustarts erzwingt einen Neustart, ohne auf den Abschluss der Builds zu warten.

    Wenn Sie auf die Jobenden warten müssen, können Sie Folgendes verwenden:

    Jenkins_URL/safeRestart.

    Beispiel: http://jenkinsserver.com/safeRestart

  • Alternative 2: Verwenden der Befehlszeile, abhängig von Ihrer Jenkins-Installation.

    • Wenn Sie mit dem RPM- oder Deb- Paket installieren oder die Jenkins-Installation in Red Hat , Ubuntu oder Debian haben , können Sie die folgenden Befehle verwenden:

    • sudo service jenkins restart

      Dadurch wird Jenkins in einem Schritt neu gestartet.

    • sudo service jenkins stopund sudo service jenkins start,

      Dies startet Jenkins in zwei Schritten neu.

      Hinweis: Wenn Sie den Jenkins-Status überprüfen müssen, können Sie diesen Befehl verwenden: sudo service jenkins status

    • Wenn Sie CentOS verwenden , können Sie diesen Befehl verwenden:

      sudo systemctl restart jenkins
      

      Hinweis: Wenn Sie den Jenkins-Status überprüfen müssen, können Sie diesen Befehl verwenden: sudo systemctl status Jenkins

Javier C.
quelle
1

Windows

Ausführen services.mscund neu starten:

Geben Sie hier die Bildbeschreibung ein

Tiago Medici
quelle
1

Versuchen Sie das Folgende. Es hat bei mir funktioniert.

sudo service jenkins status  

Es gibt Ihnen PID von Jenkins. Jetzt mach ein

kill -15 [PID]

sudo service jenkins start
Avinash Agrawal
quelle
3
Sie fragen sich, warum Sie nicht einfach "(sudo) service jenkins restart" ausführen?
Nembleton
Ja, absolut richtig, aber ich habe Probleme, manchmal, bei denen es bei mir nicht funktioniert hat.
Avinash Agrawal
1

Wenn nichts funktioniert, finden Sie den Jenkins-Prozess von

ps aux | grep java

und dann töte es:

kill -9 [PID]

sudo service jenkins start

Bearbeiten: Suchen Sie nach dem Java-Prozess, der mit Jenkins zusammenhängt

Neil
quelle
4
Es ist ziemlich gefährlich, nur nach Java-Prozessen zu suchen. Man sollte nach etwas jenkins spezifischerem imo greifen.
Tim Büthe
0

Wenn Sie keine Berechtigungen haben oder nicht direkt auf die Befehlszeile zugreifen können, können Sie beispielsweise eine der folgenden Aktionen ausführen:

  1. Erstellen Sie einen Job mit einem Shell- / Batch-Schritt, der einen Neustart aus dem Jenkins-Installationsordner auslöst
  2. Installieren / aktualisieren Sie ein Plugin, während Sie "Nach der Installation neu starten" aktivieren (zumindest funktioniert dies in alten Versionen).

Beide oben genannten sind Hacks, aber ich habe sie aktiv in einer sehr eingeschränkten Umgebung verwendet, in der niemand wollte, dass ich Jenkins neu starte.

TEH EMPRAH
quelle
0

Wenn Sie Jenkins als Server auf einem Windows-Computer ausführen, öffnen Sie den Task-Manager und wechseln Sie zur Registerkarte Dienst. Suchen Sie nach Jenkins und starten Sie es neu.

Prem Choudhary
quelle