Як встановити Дженкінс на 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.