Как перезапустить Jenkins вручную?


816

Я только начал работать с Дженкинсом и столкнулся с проблемой. После установки нескольких плагинов он сказал, что его нужно перезагрузить, и перешел в режим «выключения», но никогда не перезапускается.

Как мне сделать перезагрузку вручную?


34
Примечание: «Jenkins is Shutting Down» на самом деле не закрывается, а просто уведомляет различных пользователей, которые могут захотеть создать что-то, что Jenkins собирается перезапустить в ближайшее время.
Хез

1
Стоит отметить, что я не заметил, что кто-то еще упомянул ... Если вы переведите Дженкинса в режим выключения, он на самом деле не выключится, о чем уже говорилось. Что не было отмечено, так это то, что он останавливает запуск новых сборок. Если вам нужно позволить завершить сборку до перезапуска, вы должны перевести Jenkins в режим выключения, дать завершить сборку, а затем выполнить «перезапуск» любым способом, который вы выбрали выше.
TheRedSeth

Поскольку версия 1.442 Jenkins не требует перезапуска после установки новых плагинов, используйте «Установить без перезапуска» . К сожалению, эта функция не будет работать для обновления или удаления.
luka5z

Ответы:


1942

Чтобы перезапустить Jenkins вручную, вы можете использовать одну из следующих команд (введя их URL в браузере):

(jenkins_url)/safeRestart- Позволяет завершить все запущенные задания. Новые задания останутся в очереди для запуска после завершения перезапуска.

(jenkins_url)/restart - Принудительно перезапускает, не дожидаясь завершения сборки.


14
Для safeRestart см stackoverflow.com/a/15555339/260122 java -jar /var/cache/jenkins/war/WEB-INF/jenkins-cli.jar -s http://localhost:8080/ safe-restart (если он установлен на оборотах в минуту или Deb, в противном случае отрегулировать соответствующим образом ).
клик

13
Это вызывает RestartNotSupportedExceptionв Jenkins 1.532.1 с IcedTea 2.3.9. sudo /etc/init.d/jenkins restartработал для меня все же.
Матиас Браун

4
В Windows используйте службу Windows, а не командную строку.
Mag

8
Есть ли внутренние ссылки от Дженкинса, чтобы сделать это вместо того, чтобы помнить волшебные URL?
rogerdpack 20.09.16

5
Разве это не доступно в веб-интерфейсе?
Realtebo


115

В Ubuntu или Debian при установке через 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- сообщает: ВАЖНО: Не запускать методы start | stop | restart вручную как $ sudo /etc/init.d/jenkins start | stop | restart, потому что это делает вашу службу ненадежной, так как она получает среду от пользователя root, а не чистую надежную пустую среду, которая устанавливается средствами запуска init (service / systemctl) ).
Батти

96

SafeRestart Plugin необходимо отметить. Это довольно полезно ( перезагрузите безопасно ). Он добавляет ссылку для возможности перезагрузки из главного меню:

Введите описание изображения здесь


Я часто использую эту функцию для установки плагинов.
imdibiji

Странно, что этот плагин не включен по умолчанию.
рис

70

Приведенные ниже команды работали для меня в Red Hat Linux и должны работать и для Ubuntu.

  • Чтобы узнать статус Дженкинс:

    sudo service jenkins status
    
  • Чтобы начать Дженкинс:

    sudo service jenkins start
    
  • Чтобы остановить Дженкинс:

    sudo service jenkins stop
    
  • Чтобы перезапустить Jenkins:

    sudo service jenkins restart
    

Демо в командной строке:

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

Люди, которые используют окна

Откройте Консоль / Командную строку -> Перейдите в каталог установки Jenkins. Выполните следующие команды соответственно:

To stop:
jenkins.exe stop

To start:
jenkins.exe start

To restart:
jenkins.exe restart


37

В Windows, если он был установлен как сервис, перейдите к услугам ( ПускВыполнить : services.msc), найти Дженкинс, щелкните правой кнопкой мыши → Restart .

Если это не помогает (пользовательский интерфейс не отвечает), откройте диспетчер задач Windows → Процессы , завершите java.exeпроцесс и перезапустите службу еще раз.


7
Попытка достичь / safeRestart в Windows приведет к: javax.servlet.ServletException: hudson.lifecycle.RestartNotSupportedException: жизненный цикл Windows по умолчанию не поддерживает перезапуск.
x29a

1
Когда /safeRestartнедоступно, используйте /safeExitперед ручным перезапуском.
Джесси Глик

19

Если вы используете Jenkins в Mac OS X, вы можете вручную остановить службу, выполнив эту команду:

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

1
затем вы можете перезапустить с помощьюload
kraftydevil

18

Это также можно сделать с помощью интерфейса Jenkins CLI :

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

jenkins-cli.jarФайл вместе с полным списком команд можно ознакомиться на http://[jenkins-server]/cli.


12

Если вы хотите просто перезагрузить файл конфигурации, можно сделать

    <jenkins_url>/reload

Это быстрее, если вы сделали небольшое изменение в файле конфигурации, например, config.xmlнепосредственно в файловой системе или сделали копии задания через файловую систему (не через браузер).


10

Это зависит от того, как Дженкинс был запущен.

  • В качестве услуги: sudo service jenkins restart, sudo /etc/init.d/jenkins restartи т.д.

  • Как веб-приложение в установке Tomcat: перезапустите Tomcat или просто перезапустите приложение в Tomcat. Перейти к http://<tomcat-server>:8080/manager/listили после аутентификации нажмите http://<tomcat-server>:8080/manager/stop?path=/myapp+ http://<tomcat-server>:8080/manager/start?path=/myapp.

  • Запустил просто java -jar: убить его ( kill -9 <pid>) и перезапустить.

  • Запущен с java -jar, но от руководителя:supervisorctl restart jenkins


Просто выберите подходящий вариант ответа !!
user43968


8

На винде

Перейдите к установке Jenkins, откройте cmd и запустите:

  • Остановиться:

    jenkins.exe stop
    
  • Начать:

    jenkins.exe start
    
  • Перезагрузить:

    jenkins.exe restart
    

8

Иногда будут некоторые устаревшие процессы Дженкинса, поэтому ps -ef | grep jenkinsубейте их всех. Перезапустите, как описано в предыдущих ответах, и он будет чистым.

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


5

Если вы можете получить к нему доступ через веб-браузер, просто добавьте /restart, например localhost:8080/restart,.

Если вы используете его как службу, войдите на сервер и выполните команду:

sudo service jenkins stop/start

4

Для перезапуска Jenkins вручную с помощью браузера:

Введите свой www.jenkins-ip/restart (например, http://localhost:8080/restart) в браузере. Jenkins перезапустится и автоматически загрузит страницу входа после перезагрузки.



3

Для Mac

Стоп Дженкинс

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

Начать Дженкинс

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


3

Несколько человек упомянули о необходимости перезапустить контейнер сервлета, если Jenkins не работает в автономном режиме. Но Tomcat (или что используется) не нужно перезапускать. Tomcat может принудительно перезапустить контекст Jenkins, если ваш перезапуск Jenkins завис.

Но что касается другого комментария, когда вы переводите Дженкинса в режим «выключения», он фактически не выключается. Он останавливает выполнение новых заданий и размещает гигантский красный баннер на страницах системы, чтобы все знали, что администратор в конце концов хочет его снять. Существуют плагины для запуска перезапуска контейнера сервлета для этого контекста после завершения всех сборок.

Альтернативный вариант - дождаться завершения последнего запущенного задания, а затем вручную отбросить Jenkins из контейнера (или с помощью параметров командной строки, которые другие упомянули для автономной установки Jenkins).


3

Если он развернут как файл war, перезапустите сервер приложений, например Tomcat.



2

Если он находится в контейнере Docker, вы можете просто перезапустить свой контейнер. Давайте предположим, что имя контейнера jenkins, так что вы можете сделать:

docker restart jenkins

Или

docker stop jenkins
docker start jenkins

Важный! В докере - данные Jenkins должны быть постоянными (вы можете потерять работающие задания, ресурсы, сборки, данные и т. Д.). Поэтому будьте осторожны, лучше НЕ использовать «перезапуск» и НЕ использовать остановки и запускать образ докера. решение будет таким: sudo docker ps -> sudo docker stop <dockerImageID> -> sudo docker start <dockerImageID>
avivamg

2

У вас есть много вариантов перезапустить Jenkins вручную, но в основном два (URL или командная строка):

  • Альтернатива 1: использование установочного URL Jenkins:

    Jenkins_URL/restart,

    Пример: http://jenkinsserver.com/restart

    Этот тип перезапуска принудительно перезапускает, не дожидаясь завершения сборки.

    Если вам нужно дождаться окончания работы, вы можете использовать:

    Jenkins_URL/safeRestart,

    Пример: http://jenkinsserver.com/safeRestart

  • Альтернатива 2: использование командной строки, в зависимости от вашей установки Jenkins.

    • Если вы устанавливаете с использованием пакета rpm или deb или у вас есть установка Jenkins в Red Hat , Ubuntu или Debian , вы можете использовать эти команды:

    • sudo service jenkins restart

      Это перезапустить Дженкинс за один шаг.

    • sudo service jenkins stopи sudo service jenkins start,

      Это перезапустить Дженкинс в два этапа.

      Примечание: если вам нужно проверить состояние Jenkins, вы можете использовать эту команду: sudo service jenkins status

    • Если вы используете CentOS , вы можете использовать эту команду:

      sudo systemctl restart jenkins
      

      Примечание: если вам нужно проверить состояние Jenkins, вы можете использовать эту команду: sudo systemctl status Jenkins




1

Попробуйте ниже. Это сработало для меня.

sudo service jenkins status  

Это даст вам PID Дженкинс. Теперь сделай

kill -15 [PID]

sudo service jenkins start

3
Хотите знать, почему вы просто не делаете "(sudo) service jenkins restart"?
Nembleton

Да, абсолютно правильно, но я столкнулся с проблемой, иногда в которой это не работает для меня.
Авинаш Агравал

1

Если ничего не работает, найдите процесс Дженкинса по

ps aux | grep java

а потом убей его

kill -9 [PID]

sudo service jenkins start

Редактировать: Ищите процесс Java, который связан с Дженкинсом


4
довольно опасно просто искать Java-процессы, не так ли? Нужно искать что-то более специфичное для Дженкинса.
Тим Бюте

0

Если у вас нет прав доступа или доступа к командной строке напрямую, вы можете выполнить, например, одно из следующих действий:

  1. Создайте задание с помощью шага оболочки / пакета, которое запустит перезапуск из папки установки Jenkins.
  2. Установите / обновите некоторый плагин, проверяя «перезагрузка после установки» (по крайней мере, это работает в старых версиях)

Оба выше - взломы, но я активно использовал их в очень ограниченной среде, где никто не хотел, чтобы я перезапустил Дженкинс, да.


0

Если вы используете Jenkins в качестве сервера на компьютере с Windows, откройте диспетчер задач и перейдите на вкладку службы. Найдите Дженкинса и перезапустите его.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.