Як встановити Дженкінс на Windows Server 2012


13

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

  1. Я захоплюю найновішу версію Дженкінса як основний інсталятор для Windows (1.491 в моєму випадку)
  2. Я налаштував Windows Server 2012 (офіційне зображення релізу, жодного кандидата на реліз) та встановив усі оновлення
  3. Я намагаюся запустити інсталяцію Дженкінса.

У процесі встановлення все працює чудово, крім тієї частини, де він намагається запустити послугу. У цей момент я отримую інформацію про те, що у мене недостатньо привілеїв для запуску системних послуг. Це працює на 2k8R2 без проблем. Я зареєстрований як адміністратор, створений під час встановлення сервера і є єдиним користувачем на машині.

Повне повідомлення, яке я отримую:

Сервіс «Дженкінс» (Дженкінс) не вдалося запустити. Переконайтеся, що у вас є достатньо привілеїв для запуску системних послуг.

Хтось ще має ці проблеми? Я думаю, що внутрішні сервери Server 2012 змінили спосіб інсталяції, і інсталятор Jenkins для цього не побудований.

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

Відповіді:


13

Вам потрібно встановити .net 3.5 (Навіть якщо у вас встановлено .net 4+)

Ви робите це через Менеджер серверів:

  • Налаштування локального сервера
  • Додайте ролі та функції
  • Клацніть далі, поки не перейдете до розділу функцій
  • Установіть прапорець .net 3.5 (я також перевірив пункти на гарну міру)
  • Якщо ви отримуєте попередження про необхідність вказувати альтернативний шлях, тоді:
    • Вставте носій для встановлення Windows.
    • Клацніть Назначити альтернативний шлях до джерела
    • Помістіть D: \ source \ sxs у поле шляху (натисніть ОК)
  • Клацніть Встановити

Після цього ви зможете встановити Jenkins через інсталятор msi. Він зможе успішно запустити послугу Дженкінс вже зараз.

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


Я не знаю чому, але, здається, єдина вимога .NET Framework 3.5 ... Дякую за цей підказку, що виправляє початкову проблему
— HaMster

3

Я зробив це нарешті!

Не тільки мені потрібно було встановити .NET 3.5 (Thankyou DarcyThomas), але я також з’ясував, що мені потрібно додати файл конфігурації до інсталяційного каталогу.

Додайте файл, який називається jenkins.exe.config, із таким вмістом у каталог інсталяції:

<configuration> 
  <runtime> 
     <generatePublisherEvidence enabled="false"/> 
  </runtime> 
</configuration> 

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

Я сподіваюся, що це заощадить всі інші години болю, які я щойно пережив. Ура.


Яке видання Windows Server 2012 ви працювали? Мені ніколи не доводилося цього робити в моєму Standard Edition.
— Хамстер

Datacentre Windows Server 2012 - Хоча я вважав, що в основному наша мережева архітектура порушила речі, а не саме видання.
— Бен Кулл

2

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

Ви також можете спробувати відключити перевірку сертифікатів таким чином (хоча я не впевнений, чи це спрацює.)

1) Створіть каталог: C:\Program Files (x86)\Jenkins

2) Створіть текстовий файл з назвою jenkins.exe.config

3) Додайте наступний текст до текстового файлу:

<configuration> 
  <runtime> 
     <generatePublisherEvidence enabled="false"/> 
  </runtime> 
</configuration>

4) Запустити налаштування як Administrator


Ви дійсно не повинні публікувати посилання, а як же просто скопіювати та вставити іншу відповідь тут?
— BenjiWiebe

Ок ... це зроблено
— Серж Саган

2
Копіювати / вставляти відповіді, як правило, не рекомендується, якщо вони не надсилаються / цитуються належним чином (це підпадає під плагіат).
— ashes999

0

Створіть заплановане завдання Windows, яке виконується лише після запуску Windows. У деяких дистрибутивах Windows, запуск Дженкінса як сервісу просто не працює. Цей підхід є злому, але він працює. Я використовував його в декількох вузлах Windows.

Я особисто вважаю, що документи Дженкінса в Windows потребують ще кількох полірувань у цьому плані. Можливо, трохи більше роботи над цим також ...

Я сподіваюся, що це допомагає.


Я думав про те саме, і зараз цим впораюся. Однак я хочу трохи ознайомити хлопців із темою, і було б добре, якби Дженкінс працював. Я думаю, я збираюся дати їм знати про цю проблему або сам долучитися. Але дякую за підказку.
— HaMster

Будь ласка, напишіть, якщо краще рішення знайдено, або якщо ви нарешті змусили їх виправити це. Мені довелося прожити з цим більше двох років на своїй попередній роботі, і це було прикро. Інсталятор JNLP насправді не спрацьовує у багатьох випадках (це один із них). Я думаю, що замість того, щоб вони намагалися використовувати дурні DLL-системи Windows, їм слід, як ... викликати сценарій командного рядка, який або додає його як службу, або створює заплановане завдання. Я вважаю, що це має бути досить легко.
— carlspring

Я ніколи не мав жодних проблем із власним інсталятором на Windows, який розміщено на дошці завантаження на веб -сторінці Jenkins-Homepage . Перший раз, коли я не закінчив успішно встановлення, було у випадку, описаному вище, навіть якщо я намагався виконати кілька спроб із різними сценаріями. Тому, як я вже говорив, я думаю, що це специфічна проблема для сервера 2012 року
— HaMster

О, я щоразу бачив це на Windows Server 2008. Точно.
— carlspring

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