Як перезапустити Дженкінса вручну?


816

Я тільки почав працювати з Дженкінсом і зіткнувся з проблемою. Після встановлення декількох плагінів він сказав, що його потрібно перезапустити і перейти в режим "відключення", але ніколи не перезапускається.

Як зробити ручний перезапуск?


34
Примітка: "Дженкінс вимикається" насправді не вимикається, вона просто сповіщає різних користувачів, які, можливо, захочуть побудувати щось, що незабаром перезапустить Дженкінс.
Хез

1
Щось зауважимо, що я не помітив, що хтось інший згадував ... Якщо ви переведете Дженкінса в режим вимкнення, воно насправді не вимкнеться, про що було сказано. Те, що не було відзначено, це те, що він зупиняє запуск нових будівель. Якщо вам потрібно дозволити збірку завершити перед перезапуском, ви повинні перевести Дженкінса в режим вимкнення, дозволити завершити збірку, а потім виконувати "перезапуск" будь-яким методом, який ви виберете вище.
TheRedSeth

Оскільки версія 1.442 Jenkins не потребує перезапуску після встановлення нових плагінів, використовуйте «Встановити без перезавантаження» . На жаль, ця функція не працюватиме для оновлення чи видалення.
luka5z

Відповіді:


1942

Щоб перезапустити Дженкінс вручну, ви можете скористатися однією з наступних команд (ввівши їх 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, в іншому випадку відрегулювати відповідним чином ).
clacke

13
Це спричиняє RestartNotSupportedExceptionв Jenkins 1.532.1 з IcedTea 2.3.9. sudo /etc/init.d/jenkins restartпрацював для мене, хоча.
Маттіас Браун

4
У Windows скористайтеся службою Windows, а не командним рядком.
Маг

8
Чи є внутрішні посилання від джинкінів, щоб зробити це замість того, щоб запам'ятовувати магічні URL-адреси?
rogerdpack

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 | перезавантажте вручну як $ sudo /etc/init.d/jenkins start | стоп | перезапуск, оскільки це робить вашу послугу ненадійною, оскільки вона вибирає середовище у кореневого користувача, на відміну від чистого надійного порожнього середовища, встановленого пусковими програмами init (сервіс / systemctl ).
Бетті

96

SafeRestart Plugin необхідно відзначити. Це досить корисно ( Перезапустити безпечно ). Він додає посилання, щоб мати можливість перезапустити з головного меню:

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


Я часто використовую цю функцію для встановлення плагінів.
imdibiji

Смішно, що цей плагін не включений за замовчуванням.
фіг

70

Наведені нижче команди працювали для мене в Red Hat Linux і повинні працювати і для Ubuntu.

  • Щоб знати статус Дженкінса:

    sudo service jenkins status
    
  • Щоб почати Дженкінс:

    sudo service jenkins start
    
  • Щоб зупинити Дженкінса:

    sudo service jenkins stop
    
  • Щоб перезапустити Дженкінс:

    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

Якщо ви працюєте з Дженкінсом на Mac OS X, ви можете вручну зупинити службу, виконавши цю команду:

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

1
потім можна перезапустити, використовуючиload
kraftydevil

17

Це також можна зробити за допомогою CLI Jenkins :

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 it ( kill -9 <pid>) та відновіть його.

  • Розпочато з java -jar, але від керівника:supervisorctl restart jenkins


Просто виберіть, ви використовуєте випадок гарної відповіді !!
user43968


8

У Windows

Перейдіть до інсталяції 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

Для перезапуску Дженкінса вручну за допомогою браузера:

Введіть 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

Кілька людей згадували про необхідність перезапустити контейнер сервлетів, якщо Дженкінс не працює як окремий. Але Tomcat (або те, що використовується) не потрібно перезапускати. Tomcat може змусити перезапустити контекст Дженкінса, якщо ваш перезапуск Jenkins буде вимкнено.

Але звернутися до іншого коментаря, коли ви переведете Дженкінса в режим "вимкнення", він фактично не вимкнеться. Він зупиняє виконання нових завдань і розміщує гігантський червоний банер на системних сторінках, щоб усі знали, що адміністратор хоче зняти його з часом. Існують плагіни для запуску перезавантаження контейнера сервлетів для цього контексту після завершення всіх збірок.

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


3

Якщо він розгорнутий у вигляді файлу війни, перезавантажте сервер додатків, наприклад, Tomcat.



2

Якщо він знаходиться в контейнері Docker, ви можете просто перезапустити контейнер. Припустимо, що ім'я контейнера є jenkins, так що ви можете зробити:

docker restart jenkins

Або

docker stop jenkins
docker start jenkins

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

2

У вас є багато варіантів перезапуску Дженкінса вручну, але в основному два (URL-адреса або командний рядок):

  • Альтернатива 1: Використання URL-адреси встановлення Дженкінса:

    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,

      Це перезапуск Дженкінса в два кроки.

      Примітка: якщо вам потрібно перевірити стан Дженкінса, ви можете скористатися цією командою: sudo service jenkins status

    • Якщо ви використовуєте CentOS , ви можете використовувати цю команду:

      sudo systemctl restart jenkins
      

      Примітка: якщо вам потрібно перевірити стан Дженкінса, ви можете скористатися цією командою: sudo systemctl status Jenkins




1

Спробуйте нижче. Це працювало для мене.

sudo service jenkins status  

Це дасть вам PID Дженкінса. Тепер зробіть

kill -15 [PID]

sudo service jenkins start

3
Цікаво, чому ти не просто робиш "перезапуск сервісу (sudo)"?
Немблтон

Так, абсолютно правильно, але я стикався з проблемою, іноді в якій це не працювало на мене.
Avinash Agrawal

1

Якщо нічого не працює, знайдіть процес Дженкінса за допомогою

ps aux | grep java

а потім убийте його:

kill -9 [PID]

sudo service jenkins start

Редагувати: Шукайте процес Java, пов’язаний із джинкінами


4
досить небезпечно просто шукати процеси Java, ви не думаєте? Слід поздоровитись за щось більш специфічне imo.
Тім Бют

0

Якщо у вас немає дозволів або доступу до командного рядка безпосередньо, ви можете зробити, наприклад, одне з наступних:

  1. Створіть завдання з оболонкою / пакетним кроком, що призведе до перезавантаження з інсталяційної папки Дженкінса
  2. Встановіть / оновіть якийсь плагін під час перевірки "перезапустити після встановлення" (принаймні, це працює у старих версіях)

Обидва вище - хаки, але я активно використовував їх у дуже обмеженому середовищі, коли ніхто не хотів, щоб я перезапустив Дженкінса, так.


0

Якщо ви використовуєте Дженкінса як сервер на машині Windows, відкрийте диспетчер завдань і перейдіть на вкладку служби. Знайдіть Дженкінса і перезапустіть його.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.