Як безпечно вимкнути мого Дженкінса?


77

Я запускаю Дженкінса у власному контейнері. Я використовую команду "nohup java -jar jenkins.war --httpsPort = 8443".

Як його безпечно вимкнути? Зараз я використовую команду kill, щоб убити процес.


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

обидва, тобто не вимикаються, якщо це відбувається в середині збірки, і вимикаються чисто
user1164061


4
Відсутні всі відповіді на цій сторінці http://yourjenkins/quietDown. Це гарантуватиме, що нові збірки не запускатимуться, але підтримуватимуть існуючі збірки. Крім того, коли ви виховуєте свого Дженкінса, ви можете сміти
Mike D

Відповіді:



112

Використовуйте http://[jenkins-server]/exit

На цій сторінці показано, як використовувати команди URL.


Параметри URL-адреси http: // [jenkins-server] / [command], де [command] може бути закрити вимкнення jenkins перезапустити перезапустити jenkins reload для перезавантаження конфігурації
lft93ryt

56

Якщо ви хочете зупинити jenkins та всі його служби на сервері за допомогою консолі Linux (наприклад, Ubuntu), запустіть:

service jenkins start/stop/restart

Це корисно, коли вам потрібно зробити знімок зображення / тому, і ви хочете, щоб усі служби припинили запис на диск / том.


4
Ця відповідь передбачає, що Дженкінс був встановлений за допомогою пакета Debian або RPM, що не завжди відбувається.
gareth_bowles

27
  1. jenkinsUrl / safeRestart - Дозвольте вам дочекатися запуску JOBS для завершення та виконати RESTART.
  2. jenkinsUrl / restart - Негайно перезапустіть, не чекаючи завдань, які виконуються на даний момент.
  3. jenkinsUrl / exit - зупиняє / вимикає послуги JENKINS
  4. jenkinsUrl / reload - Для перезавантаження змін конфігурації.

2
Чому, блін, вони зробили це безпечнимПерезапуск, а потім безпечним вимкненням замість safeShutdown? Саме такі невідповідності ведуть розробника до стіни (і змушують шукати все на StackOverflow). </rant> FYI безпечне відключення більше не працює.
Колін

25

Повний список команд доступний за адресою http://your-jenkins/cli

Команда для чистого вимкнення: http://your-jenkins/safe-shutdown

Можливо, ви також захочете використовувати http://your-jenkins/safe-restart


/ safe-restart не працює з моєю інсталяцією Jenkins. Чи постачається він із певною версією чи плагіном?
Lordalcol

4
Очевидно, з версією Jenkins 1.5+ існує URL-адреса, що підтримується / safeRestart.
Lordalcol

7
Щоб безпечно (наприклад, почекати на роботу) перезапустити - http://your-jenkins/safeRestart. Для безпечного виходу -http://your-jenkins/safeExit
kevinmm

8

Ви можете безпечно вбити Дженкінса. Він вловить SIGTERM і SIGINT і виконає впорядковане відключення. Однак, якщо Дженкінс був посеред побудови чогось, це перерве збірки, і вони відображатимуться сірими на дисплеї стану.

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

Ви також можете використовувати інтерфейс командного рядка Jenkins і сказати Jenkins безпечне вимкнення, що робить те саме. Ви можете знайти більше інформації про Jenkins cli на http: // YOURJENKINS / cli


... і здається, що якщо він не реагує на SIGINT і SIGTERM, то, можливо, SIGKILL виправданий (хоча, ймовірно, не є "безпечним").
мудрець

2

Створіть роботу Дженкінса, яка працює на Master:

java -jar "%JENKINS_HOME%/war/WEB-INF/jenkins-cli.jar" -s "%JENKINS_URL%" safe-restart

2

Ви також можете заглянути в область скриптів init (наприклад, centos vi /etc/init.d/jenkins), щоб отримати детальну інформацію про те, як служба насправді запускається та зупиняється.


1

Негайно відключає сервер Jenkins.

У Windows CMD.exeперейдіть до папки, де jenkins-cli.jarзнаходиться файл.

C:\Program Files (x86)\Jenkins\war\WEB-INF

Використовуйте команду для безпечного вимкнення

java -jar jenkins-cli.jar -s http://localhost:8080 safe-shutdown --username "YourUsername" 
--password "YourPassword"

Повний список команд доступний за адресою http: // localhost: 8080 / cli

Кредити Франциско розміщувати для cliкоманд.

Довідково:

1.

Надія комусь допомагає.

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