Como reiniciar o Jenkins manualmente?


816

Acabei de começar a trabalhar com Jenkins e tive um problema. Depois de instalar vários plugins, ele disse que precisava ser reiniciado e entrou no modo "desligando", mas nunca reinicia.

Como faço para reiniciar manualmente?


34
Nota: "O Jenkins está desligando" na verdade não é desligado, apenas notifica os vários usuários que desejam criar algo que o Jenkins será reiniciado em breve.
Khez

1
Algo a notar que eu não notei que mais alguém mencionou ... Se você colocar Jenkins no modo de desligamento, ele na verdade não é desligado, o que foi mencionado. O que não foi observado é que ele impede que novas compilações sejam iniciadas. Se você precisar deixar uma compilação concluída antes de reiniciar, coloque o Jenkins no modo de desligamento, deixe a compilação terminar e, em seguida, faça sua "reinicialização" com o método escolhido acima.
TheRedSeth

Como a versão 1.442 Jenkins não precisa ser reiniciada após a instalação de novos plug-ins, use “Instalar sem reiniciar” . Infelizmente, esse recurso não funcionará para atualização ou desinstalação.
Luka5z 28/05

Respostas:


1942

Para reiniciar o Jenkins manualmente, você pode usar um dos seguintes comandos (inserindo o URL em um navegador):

(jenkins_url)/safeRestart- Permite que todos os trabalhos em execução sejam concluídos. Novos trabalhos permanecerão na fila para execução após a reinicialização ser concluída.

(jenkins_url)/restart - Força uma reinicialização sem aguardar a conclusão das compilações.


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 (se instalado por rpm ou deb, caso contrário, ajuste de acordo).
clacke

13
Isso causa um RestartNotSupportedExceptionno Jenkins 1.532.1 com o IcedTea 2.3.9. sudo /etc/init.d/jenkins restarttrabalhou para mim embora.
Matthias Braun

4
No Windows, use o serviço Windows em vez da linha de comando.
Mag

8
Existem links internos da jenkins para fazer isso, em vez de lembrar de URLs mágicos?
Rogerdpack # 20/16

5
Isso não está disponível no GUI da web?
Realtebo 8/07

182

Se você instalou como um rpm ou deb , service jenkins restarttambém funcionará.


115

No Ubuntu ou Debian, quando instalado por meio de 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- diz IMPORTANTE: Não inicie os métodos start | stop | restart manualmente manualmente como $ sudo /etc/init.d/jenkins start | stop | restart porque torna seu serviço não confiável, pois captura o ambiente do usuário root, em oposição a um ambiente em branco confiável e limpo, definido pelos lançadores init (service / systemctl )
battey

96

O plugin SafeRestart precisa ser mencionado. É bastante útil ( Reinicie com segurança ). Ele adiciona um link para poder reiniciar no menu principal:

Digite a descrição da imagem aqui


Costumo usar esse recurso para instalações de plugins.
Imdibiji

Estranho que este plugin não esteja incluído por padrão.
Fig

70

Os comandos abaixo funcionaram para mim no Red Hat Linux e também devem funcionar para o Ubuntu.

  • Para conhecer o status de Jenkins:

    sudo service jenkins status
    
  • Para iniciar o Jenkins:

    sudo service jenkins start
    
  • Para parar o Jenkins:

    sudo service jenkins stop
    
  • Para reiniciar o Jenkins:

    sudo service jenkins restart
    

Demonstração no prompt de comando:

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

As pessoas que estão usando o Windows

Abra Console / Linha de Comandos -> Vá para o diretório de instalação do Jenkins. Execute os seguintes comandos, respectivamente:

To stop:
jenkins.exe stop

To start:
jenkins.exe start

To restart:
jenkins.exe restart


37

No Windows, se você instalou-lo como um serviço, vá para Serviços ( IniciarRun : services.msc), encontrar Jenkins, clique direito → Restart .

Se isso não ajudar (a interface do usuário não está respondendo), abra o Gerenciador de tarefas do Windows → Processos , interrompa o java.exeprocesso e reinicie o serviço novamente.


7
tentar alcançar / safeRestart no Windows levará a: javax.servlet.ServletException: hudson.lifecycle.RestartNotSupportedException: O ciclo de vida padrão do Windows não oferece suporte à reinicialização.
x29a 17/02

1
Quando /safeRestartnão estiver disponível, use /safeExitantes de reiniciar manualmente.
Jesse Glick

19

Se você estiver executando o Jenkins no Mac OS X, poderá parar o serviço manualmente executando este comando:

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

1
você pode reiniciar usandoload
kraftydevil

17

Isso também pode ser feito usando a CLI do Jenkins :

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

O jenkins-cli.jararquivo junto com uma lista completa de comandos estão disponíveis em http://[jenkins-server]/cli.


12

Se você quiser apenas recarregar o arquivo de configuração, pode-se fazer

    <jenkins_url>/reload

Isso é mais rápido se você fez algumas pequenas alterações no arquivo de configuração, como config.xmldiretamente no sistema de arquivos ou fez cópias do trabalho através do sistema de arquivos (não através do navegador).


10

Depende de como o Jenkins foi iniciado.

  • Como um serviço: sudo service jenkins restart, sudo /etc/init.d/jenkins restart, etc.

  • Como aplicativo da Web em uma instalação do Tomcat: reinicie o Tomcat ou apenas reinicie o aplicativo no Tomcat. Vá para http://<tomcat-server>:8080/manager/listou após a autenticação, pressione http://<tomcat-server>:8080/manager/stop?path=/myapp+ http://<tomcat-server>:8080/manager/start?path=/myapp.

  • Lançado com just java -jar: kill it ( kill -9 <pid>) e reinicie-o.

  • Lançado com java -jar, mas de um supervisor:supervisorctl restart jenkins


Basta escolher a resposta legal do caso de uso !!
User43968


8

No Windows

Vá para a instalação do Jenkins, abra o cmd e execute:

  • Parar:

    jenkins.exe stop
    
  • Para iniciar:

    jenkins.exe start
    
  • Reiniciar:

    jenkins.exe restart
    

8

Às vezes, existem alguns processos antigos de Jenkins, então ps -ef | grep jenkinsmate todos eles. Reinicie conforme descrito nas respostas anteriores e ele estará limpo.

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

7

Se você executa o FreeBSD:

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

5

Se você puder acessá-lo em um navegador da Web, basta adicionar /restart, por exemplo localhost:8080/restart,.

Se você o estiver executando como um serviço, efetue login no servidor e execute o comando:

sudo service jenkins stop/start

4

Para reiniciar o Jenkins manualmente usando o navegador:

Digite seu www.jenkins-ip/restart (por exemplo http://localhost:8080/restart) no navegador. Jenkins reiniciará e carregará a página de login automaticamente após reiniciar.


3

JenkinURL / restart fará o reinício.


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

Mas /usr/local/etc/rc.d/jenkinnão é um URL (?). Você pode elaborar?
Peter Mortensen

3

Para Mac

Stop Jenkins

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

Iniciar Jenkins

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

3

Do terminal:

sudo service jenkins restart

Or jenkinsurl/restart.


3

Várias pessoas mencionaram a necessidade de reiniciar o contêiner de servlet se o Jenkins não estiver sendo executado como autônomo. Mas o Tomcat (ou o que está sendo usado) não precisa ser reiniciado. O Tomcat pode forçar uma reinicialização do contexto Jenkins se a reinicialização do Jenkins for interrompida.

Mas, para abordar outro comentário, quando você coloca Jenkins no modo "desligando", ele não é desligado. Impede a execução de novos trabalhos e coloca uma faixa vermelha gigante nas páginas do sistema para que todos saibam que o administrador deseja removê-lo eventualmente. Existem plugins para acionar uma reinicialização do contêiner de servlet para esse contexto depois que todas as compilações forem concluídas.

A alternativa é aguardar a conclusão do último trabalho em execução e, em seguida, chutar manualmente Jenkins a partir do contêiner (ou através das opções de linha de comando que outros usuários mencionaram para a instalação autônoma de Jenkins).


3

Se ele for implementado como um arquivo war, reinicie o servidor de aplicativos, por exemplo, Tomcat.


2

Para o CentOS :

sudo systemctl restart jenkins

sudo systemctl status Jenkins

Jenkins estará ativo e funcionando com algum PID.


2

Se estiver em um contêiner do Docker, basta reiniciar o contêiner. Vamos supor que o nome do contêiner seja jenkins, para que você possa:

docker restart jenkins

Ou

docker stop jenkins
docker start jenkins

Importante! Na janela de encaixe - os dados do Jenkins devem ser persistentes (você pode perder a execução de trabalhos, recursos, construções, dados, etc ...) Portanto, tenha cuidado, é melhor NÃO usar "restart" e NÃO parar e iniciar na imagem da janela de encaixe. a solução seria: sudo janela de encaixe ps -> parada sudo janela de encaixe <dockerImageID> -> sudo janela de encaixe iniciar <dockerImageID>
avivamg

2

Você tem muitas opções para reiniciar o Jenkins manualmente, mas principalmente duas (URL ou linha de comando):

  • Alternativa 1: Usando o URL de instalação do Jenkins:

    Jenkins_URL/restart.

    Exemplo: http://jenkinsserver.com/restart

    Esse tipo de reinicialização força uma reinicialização sem aguardar a conclusão das compilações.

    Se você precisar aguardar o término dos trabalhos, poderá usar:

    Jenkins_URL/safeRestart.

    Exemplo: http://jenkinsserver.com/safeRestart

  • Alternativa 2: Usando a linha de comando, dependendo da instalação do Jenkins.

    • Se você estiver instalando usando o pacote rpm ou deb ou se tiver a instalação do Jenkins no Red Hat , Ubuntu ou Debian , poderá usar estes comandos:

    • sudo service jenkins restart

      Isso reinicia Jenkins em uma etapa.

    • sudo service jenkins stope sudo service jenkins start,

      Isso reinicia Jenkins em duas subidas.

      Nota: se você precisar verificar o status do Jenkins, poderá usar este comando: sudo service jenkins status

    • Se você estiver usando o CentOS , poderá usar este comando:

      sudo systemctl restart jenkins
      

      Nota: se você precisar verificar o status do Jenkins, poderá usar este comando: sudo systemctl status Jenkins




1

Experimente o abaixo. Funcionou para mim.

sudo service jenkins status  

Isso lhe dará PID de Jenkins. Agora faça um

kill -15 [PID]

sudo service jenkins start

3
Querendo saber por que você não apenas faz "(sudo) serviço jenkins restart"?
Nembleton

Sim, absolutamente correto, mas já enfrentei um problema, às vezes no qual não funcionava para mim.
Avinash Agrawal

1

Se nada funcionar, encontre o processo Jenkins

ps aux | grep java

e depois mate:

kill -9 [PID]

sudo service jenkins start

Edit: Procure o processo java que está relacionado ao jenkins


4
bastante perigoso apenas procurar processos java, você não acha? Deve-se esperar por algo mais específico da Jenkins.
Tim Büthe

0

Se você não tiver permissões ou acesso à linha de comando diretamente, poderá executar, por exemplo, um dos seguintes procedimentos:

  1. Crie um trabalho com etapa de shell / lote que acionará uma reinicialização na pasta de instalação do Jenkins
  2. Instale / atualize algum plug-in enquanto verifica "reiniciar após a instalação" (pelo menos isso funciona em versões antigas)

Ambos acima são hacks, mas eu os usei ativamente em um ambiente muito restrito, onde ninguém queria que eu reiniciasse o Jenkins, hein.


0

Se você estiver executando o Jenkins como servidor em uma máquina Windows, abra o Gerenciador de tarefas e mude para a guia Serviço. Procure Jenkins e reinicie-o.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.