¿Cómo reiniciar Jenkins manualmente?

816

Acabo de empezar a trabajar con Jenkins y me he encontrado con un problema. Después de instalar varios complementos, dijo que necesita reiniciarse y entró en modo de "apagado", pero nunca se reinicia.

¿Cómo hago un reinicio manual?

Kerry Jones
fuente
34
Nota: "Jenkins se está cerrando" en realidad no se cierra, solo notifica a los diversos usuarios que deseen construir algo que Jenkins se reiniciará pronto.
Khez
1
Algo para notar que no me di cuenta de que alguien más mencionó ... Si pones a Jenkins en modo de apagado, en realidad no se cierra, lo que se ha mencionado. Lo que no se observó es que detiene el inicio de nuevas compilaciones. Si necesita dejar que se complete una compilación antes de reiniciar, debe poner a Jenkins en modo de apagado, dejar que finalice su compilación y luego hacer su "reinicio" con cualquier método que elija desde arriba.
TheRedSeth
Dado que la versión 1.442 Jenkins no requiere reiniciarse después de instalar nuevos complementos, use "Instalar sin reiniciar" . Lamentablemente, esta característica no funcionará para actualizar o desinstalar.
luka5z

Respuestas:

1942

Para reiniciar Jenkins manualmente, puede usar cualquiera de los siguientes comandos (ingresando su URL en un navegador):

(jenkins_url)/safeRestart- Permite completar todos los trabajos en ejecución. Los nuevos trabajos permanecerán en la cola para ejecutarse después de que se complete el reinicio.

(jenkins_url)/restart - Fuerza un reinicio sin esperar a que se completen las compilaciones.

Željko Filipin
fuente
14
Para safeRestart, consulte stackoverflow.com/a/15555339/260122 java -jar /var/cache/jenkins/war/WEB-INF/jenkins-cli.jar -s http://localhost:8080/ safe-restart (si está instalado por rpm o deb; de lo contrario, ajústelo en consecuencia).
clacke
13
Esto causa un RestartNotSupportedExceptionen Jenkins 1.532.1 con IcedTea 2.3.9. sudo /etc/init.d/jenkins restartfuncionó para mí sin embargo.
Matthias Braun
44
En Windows, use el servicio de Windows en lugar de la línea de comando.
Mag
8
¿Hay algún enlace interno de Jenkins para hacer esto en lugar de recordar las URL mágicas?
rogerdpack
55
¿Esto no está disponible en la interfaz gráfica de usuario web?
realtebo
182

Si lo instaló como rpm o deb , entonces service jenkins restarttambién funcionará.

Ben Mathews
fuente
115

En Ubuntu o Debian, cuando se instala a través de apt-get/ dpkg:

$ sudo /etc/init.d/jenkins restart
Usage: /etc/init.d/jenkins {start|stop|status|restart|force-reload}
Timo Tijhof
fuente
1
https://support.cloudbees.com/hc/en-us/articles/216118748-How-to-Start-Stop-or-Restart-your-Instance- dice IMPORTANTE: No inicie los métodos start | stop | restart manualmente como $ sudo /etc/init.d/jenkins start | stop | restart porque hace que su servicio no sea confiable, ya que recoge el entorno del usuario raíz en lugar de un entorno en blanco limpio y confiable establecido por los iniciadores de inicio (service / systemctl )
Battey
96

El complemento SafeRestart necesita ser mencionado. Es bastante útil ( reiniciar de forma segura ). Agrega un enlace para poder reiniciar desde el menú principal:

Ingrese la descripción de la imagen aquí

Vitalii Elenhaupt
fuente
A menudo uso esta función para las instalaciones de complementos.
imdibiji
Extraño que este complemento no esté incluido por defecto.
fig
70

Los siguientes comandos funcionaron para mí en Red Hat Linux y también deberían funcionar para Ubuntu.

  • Para conocer el estado de Jenkins:

    sudo service jenkins status
    
  • Para comenzar el Jenkins:

    sudo service jenkins start
    
  • Para detener a los Jenkins:

    sudo service jenkins stop
    
  • Para reiniciar el Jenkins:

    sudo service jenkins restart
    

Demostración en el símbolo del sistema:

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

Las personas que usan Windows

Abra la consola / línea de comando -> Vaya al directorio de instalación de Jenkins. Ejecute los siguientes comandos respectivamente:

To stop:
jenkins.exe stop

To start:
jenkins.exe start

To restart:
jenkins.exe restart

Varun
fuente
37

En Windows, si se ha instalado como un servicio, vaya a Servicios ( InicioEjecutar : services.msc), encontrar Jenkins, haga clic derecho → Reiniciar .

Si no ayuda (la interfaz de usuario no responde), abra el Administrador de tareas de Windows → Procesos , cierre el java.exeproceso y reinicie el servicio una vez más.

Constantina
fuente
77
intentar alcanzar / safeRestart en Windows conducirá a: javax.servlet.ServletException: hudson.lifecycle.RestartNotSupportedException: el ciclo de vida predeterminado de Windows no admite el reinicio.
x29a
1
Cuando /safeRestartno esté disponible, úselo /safeExitantes de reiniciar manualmente.
Jesse Glick
19

Si está ejecutando Jenkins en Mac OS X, puede detener manualmente el servicio ejecutando este comando:

sudo launchctl unload /Library/LaunchDaemons/org.jenkins-ci.plist
Jalal
fuente
1
luego puede reiniciar usandoload
kraftydevil
18

Esto también se puede hacer usando la CLI de Jenkins :

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

El jenkins-cli.jararchivo junto con una lista completa de comandos están disponibles en http://[jenkins-server]/cli.

Ciaran
fuente
12

Si solo desea volver a cargar el archivo de configuración, puede hacerlo

    <jenkins_url>/reload

Esto es más rápido si ha realizado algún pequeño cambio en el archivo de configuración, como config.xmldirectamente en el sistema de archivos o ha realizado copias del trabajo a través del sistema de archivos (no a través del navegador).

infoclogged
fuente
10

Depende de cómo se haya iniciado Jenkins.

  • Como un servicio: sudo service jenkins restart, sudo /etc/init.d/jenkins restart, etc.

  • Como aplicación web en una instalación de Tomcat: reinicie su Tomcat, o simplemente reinicie la aplicación en Tomcat. Vaya http://<tomcat-server>:8080/manager/listao después de la autenticación, presione http://<tomcat-server>:8080/manager/stop?path=/myapp+ http://<tomcat-server>:8080/manager/start?path=/myapp.

  • Lanzado con just java -jar: kill it ( kill -9 <pid>) y relanzarlo.

  • Lanzado con java -jar, pero desde un supervisor:supervisorctl restart jenkins

François SAMIN
fuente
Solo elige tu caso de uso ¡buena respuesta!
user43968
8

En Windows

Vaya a la instalación de Jenkins, abra el cmd y ejecute:

  • Para detener:

    jenkins.exe stop
    
  • Para comenzar:

    jenkins.exe start
    
  • Para reiniciar:

    jenkins.exe restart
    
Monis Majeed
fuente
8

A veces habrá algunos procesos rancios de Jenkins, así que ps -ef | grep jenkinsmátalos a todos. Reinicie como se describe en las respuestas anteriores, y estará limpio.

ps -ef | grep jenkins
sudo kill -kill <pid>
agudo
fuente
7

Si ejecuta FreeBSD:

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

Si puede acceder a él en un navegador web, simplemente agregue /restart, por ejemplo localhost:8080/restart,.

Si lo está ejecutando como un servicio, inicie sesión en su servidor y ejecute el comando:

sudo service jenkins stop/start
Rizwan Javid
fuente
4

Para reiniciar Jenkins manualmente usando el navegador:

Ingrese su www.jenkins-ip/restart (por ejemplo, http://localhost:8080/restart) en el navegador. Jenkins se reiniciará y cargará la página de inicio de sesión automáticamente después de reiniciar.

Vaibhav Walke
fuente
3

JenkinURL / restart hará el reinicio.


/usr/local/etc/rc.d/jenkins restart
Sebin
fuente
Pero /usr/local/etc/rc.d/jenkinno es una URL (?). ¿Puedes elaborar?
Peter Mortensen
3

Para Mac

Deja de Jenkins

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

Comienza Jenkins

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

Desde la terminal:

sudo service jenkins restart

O jenkinsurl/restart.

Sidhartha
fuente
3

Varias personas han mencionado la necesidad de reiniciar el contenedor de servlets si Jenkins no se está ejecutando de forma independiente. Pero Tomcat (o lo que se está usando) no necesita reiniciarse. Tomcat puede forzar un reinicio del contexto de Jenkins si se bloquea el reinicio de Jenkins.

Pero para abordar otro comentario, cuando pones a Jenkins en el modo de "apagado", en realidad no se cerrará. Impide que se ejecuten nuevos trabajos y coloca un banner rojo gigante en las páginas del sistema para que todos sepan que el administrador finalmente quiere eliminarlo. Hay complementos para activar un reinicio del contenedor de servlets para ese contexto después de que se completen todas las compilaciones.

La alternativa es esperar hasta que se complete el último trabajo en ejecución, luego eliminar manualmente a Jenkins del contenedor (o mediante las opciones de línea de comando que otros han mencionado para la instalación independiente de Jenkins).

JasonRobinson
fuente
3

Si se implementa como un archivo war, reinicie el servidor de aplicaciones, por ejemplo, Tomcat.

agudo
fuente
2

Para CentOS :

sudo systemctl restart jenkins

sudo systemctl status Jenkins

Jenkins estará activo y funcionando con algún PID.

Aamir M Meman
fuente
2

Si está en un contenedor Docker, puede reiniciar su contenedor. Supongamos que el nombre del contenedor es jenkins, para que pueda hacer:

docker restart jenkins

O

docker stop jenkins
docker start jenkins
Youssouf Maiga
fuente
¡Importante! En la ventana acoplable: los datos de Jenkins deben ser persistentes (es posible que pierda trabajos en ejecución, recursos, compilaciones, datos, etc.) la solución sería: sudo docker ps -> sudo docker stop <dockerImageID> -> sudo docker start <dockerImageID>
avivamg
2

Tiene muchas opciones para reiniciar Jenkins manualmente, pero principalmente dos (URL o línea de comando):

  • Alternativa 1: Uso de la URL de instalación de Jenkins:

    Jenkins_URL/restart.

    Ejemplo: http://jenkinsserver.com/restart

    Este tipo de reinicio fuerza un reinicio sin esperar a que se completen las compilaciones.

    Si necesita esperar a que finalicen los trabajos, puede usar:

    Jenkins_URL/safeRestart.

    Ejemplo: http://jenkinsserver.com/safeRestart

  • Alternativa 2: usar la línea de comandos, dependiendo de la instalación de Jenkins.

    • Si está instalando usando el paquete rpm o deb o si tiene la instalación de Jenkins en Red Hat , Ubuntu o Debian , puede usar estos comandos:

    • sudo service jenkins restart

      Esto reinicia Jenkins en un solo paso.

    • sudo service jenkins stopy sudo service jenkins start,

      Esto reinicia Jenkins en dos pasos.

      Nota: si necesita verificar el estado de Jenkins, puede usar este comando: sudo service jenkins status

    • Si está usando CentOS , puede usar este comando:

      sudo systemctl restart jenkins
      

      Nota: si necesita verificar el estado de Jenkins, puede usar este comando: sudo systemctl status Jenkins

Javier C.
fuente
1

Ventanas

Ejecutar services.mscy reiniciar:

Ingrese la descripción de la imagen aquí

Tiago Medici
fuente
1

Prueba lo siguiente. Funcionó para mi.

sudo service jenkins status  

Te dará PID de Jenkins. Ahora haz un

kill -15 [PID]

sudo service jenkins start
Avinash Agrawal
fuente
3
¿Te preguntas por qué no solo haces "(sudo) service jenkins restart"?
nembleton
Sí, absolutamente correcto, pero me he enfrentado a un problema, a veces en el que no me funcionó.
Avinash Agrawal
1

Si nada funciona, busque el proceso de Jenkins por

ps aux | grep java

y luego matarlo:

kill -9 [PID]

sudo service jenkins start

Editar: Busque el proceso de Java que está relacionado con Jenkins

Neil
fuente
44
bastante peligroso simplemente buscar procesos de Java, ¿no te parece? Uno debería buscar algo más específico de jenkins.
Tim Büthe
0

Si no tiene permisos o acceso a la línea de comandos directamente, puede hacer, por ejemplo, uno de los siguientes:

  1. Cree un trabajo con shell / paso por lotes que activará un reinicio desde la carpeta de instalación de Jenkins
  2. Instale / actualice algún complemento mientras marca "reiniciar después de la instalación" (al menos esto funciona en versiones anteriores)

Los dos anteriores son hacks, pero los usé activamente en un entorno muy restringido donde nadie quería que reiniciara Jenkins, ¿eh?

TEH EMPRAH
fuente
0

Si está ejecutando Jenkins como servidor en una máquina con Windows, abra el Administrador de tareas y cambie a la pestaña de servicio. Busque Jenkins y reinícielo.

Prem Choudhary
fuente