Come riavviare Jenkins manualmente?


816

Ho appena iniziato a lavorare con Jenkins e ho riscontrato un problema. Dopo aver installato diversi plugin ha detto che deve essere riavviato ed è entrato in una modalità di "spegnimento", ma non si riavvia mai.

Come si esegue un riavvio manuale?


34
Nota: "Jenkins sta spegnendo" in realtà non si spegne, ma avvisa solo i vari utenti che potrebbero voler costruire qualcosa che Jenkins verrà riavviato presto.
Khez,

1
Qualcosa da notare che non ho notato che qualcun altro ha menzionato ... Se metti Jenkins in modalità di spegnimento, in realtà non si spegne, che è stato menzionato. Ciò che non è stato notato è che impedisce l'avvio di nuove build. Se devi completare una compilazione prima di riavviare, devi mettere Jenkins in modalità di spegnimento, terminare la compilazione, quindi eseguire il "riavvio" con qualsiasi metodo tu scelga sopra.
TheRedSeth

Poiché la versione 1.442 Jenkins non richiede il riavvio dopo l' installazione di nuovi plug-in, utilizzare "Installa senza riavvio" . Sfortunatamente questa funzione non funzionerà per l'aggiornamento o la disinstallazione.
luka5z,

Risposte:


1942

Per riavviare Jenkins manualmente, puoi usare uno dei seguenti comandi (inserendo il loro URL in un browser):

(jenkins_url)/safeRestart- Consente il completamento di tutti i processi in esecuzione. I nuovi lavori rimarranno nella coda per essere eseguiti al termine del riavvio.

(jenkins_url)/restart - Forza un riavvio senza attendere il completamento delle build.


14
Per safeRestart, vedere stackoverflow.com/a/15555339/260122 java -jar /var/cache/jenkins/war/WEB-INF/jenkins-cli.jar -s http://localhost:8080/ safe-restart (se installato da rpm o deb, tuttavia regolare di conseguenza).
clacke del

13
Ciò causa una RestartNotSupportedExceptionin Jenkins 1.532.1 con IcedTea 2.3.9. sudo /etc/init.d/jenkins restartha funzionato per me però.
Matthias Braun,

4
In Windows, utilizzare il servizio Windows anziché la riga di comando.
Mag

8
Ci sono collegamenti interni da parte di jenkins per fare questo invece di ricordare l'url magico?
rogerdpack,

5
Non è disponibile nella GUI Web?
realtebo,

182

Se hai installato come rpm o deb , service jenkins restartfunzionerà anche.


115

Su Ubuntu o Debian, se installato tramite apt-get/ dpkg:

$ sudo /etc/init.d/jenkins restart
Usage: /etc/init.d/jenkins {start|stop|status|restart|force-reload}

1
https://support.cloudbees.com/hc/en-us/articles/216118748-How-to-Start-Stop-or-Restart-your-Instance- dice IMPORTANTE: non avviare i metodi start | stop | restart manualmente come $ sudo /etc/init.d/jenkins start | stop | restart perché rende il servizio inaffidabile in quanto raccoglie l'ambiente dall'utente root rispetto a un ambiente vuoto pulito e affidabile impostato dai launcher di init (service / systemctl ).
battey l'

96

È necessario menzionare il plug-in SafeRestart . È piuttosto utile ( riavvia in modo sicuro ). Aggiunge un collegamento per poter riavviare dal menu principale:

Inserisci qui la descrizione dell'immagine


Uso spesso questa funzione per le installazioni di plug-in.
imdibiji,

Bizzarro che questo plugin non sia incluso di default.
fico

70

I comandi seguenti hanno funzionato per me in Red Hat Linux e dovrebbero funzionare anche per Ubuntu.

  • Per conoscere lo stato di Jenkins:

    sudo service jenkins status
    
  • Per avviare il Jenkins:

    sudo service jenkins start
    
  • Per fermare il Jenkins:

    sudo service jenkins stop
    
  • Per riavviare Jenkins:

    sudo service jenkins restart
    

Demo al prompt dei comandi:

[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]#

Le persone che usano Windows

Apri la console / riga di comando -> Vai alla directory di installazione di Jenkins. Eseguire rispettivamente i seguenti comandi:

To stop:
jenkins.exe stop

To start:
jenkins.exe start

To restart:
jenkins.exe restart


37

In Windows, se è stato installato come un servizio, andare a Servizi ( InizioRun : services.msc), trovare Jenkins, fare clic destro → Riavvia .

Se non aiuta (l'interfaccia utente non risponde) aprire Task Manager di Windows → Processi , terminare il java.exeprocesso e riavviare nuovamente il servizio.


7
il tentativo di raggiungere / safeRestart su Windows porterà a: javax.servlet.ServletException: hudson.lifecycle.RestartNotSupportedException: il ciclo di vita predefinito di Windows non supporta il riavvio.
x29a,

1
Quando /safeRestartnon è disponibile, utilizzare /safeExitprima di riavviare manualmente.
Jesse Glick,

19

Se esegui Jenkins su Mac OS X, puoi interrompere manualmente il servizio eseguendo questo comando:

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

1
puoi quindi riavviare utilizzandoload
kraftydevil il

17

Questo può essere fatto anche usando l' interfaccia della riga di comando Jenkins :

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

Il jenkins-cli.jarfile insieme a un elenco completo di comandi sono disponibili all'indirizzo http://[jenkins-server]/cli.


12

Se vuoi semplicemente ricaricare il file di configurazione, puoi farlo

    <jenkins_url>/reload

Questo è più veloce se hai apportato alcune piccole modifiche al file di configurazione, come config.xmldirettamente nel file system o hai fatto copie del lavoro attraverso il file system (non attraverso il browser).


10

Dipende da come è stato avviato Jenkins.

  • Come servizio: sudo service jenkins restart, sudo /etc/init.d/jenkins restart, etc.

  • Come applicazione Web in un'installazione Tomcat: riavvia Tomcat o riavvia semplicemente l'applicazione in Tomcat. Vai a http://<tomcat-server>:8080/manager/listo dopo aver premuto l'autenticazione http://<tomcat-server>:8080/manager/stop?path=/myapp+ http://<tomcat-server>:8080/manager/start?path=/myapp.

  • Lanciato con just java -jar: kill it ( kill -9 <pid>) e riavvialo.

  • Lanciato con java -jar, ma da un supervisore:supervisorctl restart jenkins


Basta scegliere la tua bella risposta !!
user43968,


8

Su Windows

Vai all'installazione di Jenkins, apri il cmd ed esegui:

  • Fermare:

    jenkins.exe stop
    
  • Iniziare:

    jenkins.exe start
    
  • Ricominciare:

    jenkins.exe restart
    

8

A volte ci saranno alcuni processi obsoleti di Jenkins, quindi ps -ef | grep jenkinsuccidili tutti. Riavvia come descritto nelle risposte precedenti e sarà pulito.

ps -ef | grep jenkins
sudo kill -kill <pid>


5

Se riesci ad accedervi da un browser web, aggiungi /restart, ad esempio localhost:8080/restart,.

Se lo stai eseguendo come servizio, accedi al tuo server ed esegui il comando:

sudo service jenkins stop/start

4

Per riavviare Jenkins manualmente utilizzando il browser:

Inserisci il tuo www.jenkins-ip/restart (ad esempio, http://localhost:8080/restart) nel browser. Jenkins si riavvierà e caricherà automaticamente la pagina di accesso dopo il riavvio.


3

JenkinURL / restart farà il riavvio.


/usr/local/etc/rc.d/jenkins restart

Ma /usr/local/etc/rc.d/jenkinnon è un URL (?). Puoi elaborare?
Peter Mortensen,

3

Per Mac

Ferma Jenkins

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

Inizia Jenkins

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

3

Dal terminal:

sudo service jenkins restart

Or jenkinsurl/restart.


3

Diverse persone hanno menzionato la necessità di riavviare il contenitore servlet se Jenkins non è in esecuzione come autonomo. Ma Tomcat (o ciò che viene utilizzato) non deve essere riavviato. Tomcat può forzare un riavvio del contesto Jenkins se il riavvio di Jenkins è bloccato.

Ma per rispondere ad un altro commento, quando metti Jenkins in modalità "spegnimento", non si spegne. Impedisce l'esecuzione di nuovi lavori e posiziona un gigantesco banner rosso sulle pagine del sistema in modo che tutti sappiano che l'amministratore vuole eliminarlo alla fine. Ci sono plugin per attivare un riavvio del contenitore servlet per quel contesto dopo che tutte le build sono state completate.

L'alternativa è attendere il completamento dell'ultimo lavoro in esecuzione, quindi eseguire manualmente il kick over di Jenkins dal contenitore (o tramite le opzioni della riga di comando che altri hanno menzionato per l'installazione autonoma di Jenkins).


3

Se viene distribuito come file di guerra, riavvia il server delle applicazioni, ad esempio Tomcat.


2

Per CentOS :

sudo systemctl restart jenkins

sudo systemctl status Jenkins

Jenkins sarà attivo e funzionante su alcuni PID.


2

Se si trova in un contenitore Docker, puoi semplicemente riavviare il contenitore. Supponiamo che il nome del contenitore sia jenkins, quindi puoi fare:

docker restart jenkins

O

docker stop jenkins
docker start jenkins

Importante! Sulla finestra mobile - I dati di Jenkins devono essere persistenti (si potrebbero perdere lavori in esecuzione, risorse, build, dati ecc ...) Pertanto, prestare attenzione a NON utilizzare "riavvia" e NON utilizzare stop e avvio sull'immagine della finestra mobile. la soluzione sarebbe: sudo docker ps -> sudo docker stop <dockerImageID> -> sudo docker start <dockerImageID>
avivamg

2

Hai molte opzioni per riavviare Jenkins manualmente, ma principalmente due (URL o riga di comando):

  • Alternativa 1: utilizzo dell'URL di installazione di Jenkins:

    Jenkins_URL/restart.

    Esempio: http://jenkinsserver.com/restart

    Questo tipo di riavvio impone un riavvio senza attendere il completamento delle build.

    Se devi attendere la fine dei lavori puoi usare:

    Jenkins_URL/safeRestart.

    Esempio: http://jenkinsserver.com/safeRestart

  • Alternativa 2: utilizzo della riga di comando, a seconda dell'installazione di Jenkins.

    • Se stai installando usando il pacchetto rpm o deb o hai l'installazione Jenkins in Red Hat , Ubuntu o Debian , puoi usare questi comandi:

    • sudo service jenkins restart

      Questo riavvia Jenkins in un solo passaggio.

    • sudo service jenkins stope sudo service jenkins start,

      Questo riavvia Jenkins in due passaggi.

      Nota: se è necessario controllare lo stato di Jenkins, è possibile utilizzare questo comando: sudo service jenkins status

    • Se si utilizza CentOS , è possibile utilizzare questo comando:

      sudo systemctl restart jenkins
      

      Nota: se è necessario controllare lo stato di Jenkins, è possibile utilizzare questo comando: sudo systemctl status Jenkins




1

Prova il seguito. Ha funzionato per me.

sudo service jenkins status  

Ti darà il PID di Jenkins. Ora fai un

kill -15 [PID]

sudo service jenkins start

3
Ti chiedi perché non fai semplicemente "(sudo) service jenkins restart"?
nembleton,

Sì, assolutamente corretto, ma ho riscontrato un problema, a volte in cui non ha funzionato per me.
Avinash Agrawal,

1

Se non funziona nulla, trova il processo Jenkins

ps aux | grep java

e poi uccidilo:

kill -9 [PID]

sudo service jenkins start

Modifica: cerca il processo java relativo a jenkins


4
abbastanza pericoloso cercare solo processi java, non credi? Bisognerebbe cercare qualcosa di più specifico di jenkins.
Tim Büthe

0

Se non si dispone delle autorizzazioni o dell'accesso diretto alla riga di comando, è possibile, ad esempio, eseguire una delle seguenti operazioni:

  1. Creare un processo con il passo shell / batch che attiverà un riavvio dalla cartella di installazione di Jenkins
  2. Installa / aggiorna alcuni plugin controllando "riavvia dopo l'installazione" (almeno funziona con le versioni precedenti)

Entrambi sopra sono degli hack, ma li ho usati attivamente in un ambiente molto limitato in cui nessuno voleva che riavviassi Jenkins, eh.


0

Se si esegue Jenkins come server su un computer Windows, aprire Task Manager e passare alla scheda Servizio. Cerca Jenkins e riavvialo.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.