Как установить Jenkins на Windows Server 2012


13

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

  1. Я беру последнюю версию Jenkins как собственный установщик для Windows (1.491 в моем случае)
  2. Я установил Windows Server 2012 (официальный образ выпуска, без версии-кандидата) и установил все обновления
  3. Я пытаюсь запустить установку Jenkins.

В процессе установки все работает нормально, кроме той части, где он пытается запустить службу. На этом этапе мне сообщают, что у меня недостаточно прав для запуска системных служб. Это работало на 2k8R2 без проблем. Я вошел в систему как администратор, который был создан во время установки сервера и является единственным пользователем на компьютере.

Полное сообщение, которое я получаю:

Служба «Дженкинс» (Jenkins) не запустилась. Убедитесь, что у вас достаточно прав для запуска системных служб.

Кто-нибудь еще имеет эти проблемы? Я предполагаю, что внутренние компоненты Server 2012 изменили способ установки, и установщик Jenkins для этого не создан.

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

Ответы:


13

Вам нужно установить .net 3.5 (даже если у вас установлен .net 4+)

Вы делаете это через Диспетчер серверов:

  • Настроить локальный сервер
  • Добавить роли и функции
  • Нажимайте дальше, пока не дойдете до раздела функций
  • Проверьте флажок .net 3.5 (я также проверил подпункты для хорошей меры)
  • Если вы получите предупреждение о необходимости указать альтернативный путь, то:
    • Вставьте установочный носитель Windows.
    • Нажмите Указать альтернативный исходный путь
    • Поместите D: \ sources \ sxs в поле пути (нажмите Ok)
  • Нажмите Установить

Сделав это, вы сможете установить Jenkins через установщик msi. Теперь он сможет успешно запустить сервис Jenkins.

Я думаю, что Jenkins пытается установить .net 3.5, но из-за того, что установочный носитель «отсутствует», он зависает (работает в фоновом режиме), и именно поэтому он на самом деле истекает


Я не знаю почему, но .NET Framework 3.5, похоже, является единственным отсутствующим требованием ... Спасибо за этот совет, который исправляет первоначальную проблему
— HaMster

3

Я сделал это наконец!

Мне нужно было не только установить .NET 3.5 (спасибо DarcyThomas), но я также узнал, что мне нужно добавить конфигурационный файл в каталог установки.

Добавьте файл с именем jenkins.exe.config со следующим содержимым в каталог установки:

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

Оказывается, при запуске службы Windows пытается подключиться к Интернету, чтобы загрузить сертификат для подтверждения лица, подписавшего исполняемый файл. Так что в моем случае, когда сервер не имеет доступа в Интернет, он не работает. Я нашел решение здесь .

Я надеюсь, что это спасет всех остальных от часов боли, которые я только что пережил. Приветствия.


Какой выпуск Windows Server 2012 вы запускали? Мне никогда не приходилось делать это на моей стандартной версии.
— HaMster

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

2

Я нашел решение, основанное на этом ответе Яна . Проблема в том, что Windows ищет сертификат для службы, а ваш сервер не имеет доступа к Интернету. Лучший вариант - включить доступ в Интернет к серверу для установки Jenkins. Вам это не понадобится после установки Jenkins.

Вы также можете попытаться отключить проверку сертификатов таким образом (хотя я не уверен, что это будет работать.)

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 запуск Jenkins как службы просто не работает из коробки. Этот подход взломан, но он работает. Я использовал его на нескольких узлах Windows.

Я лично считаю, что документы Jenkins по Windows нуждаются в некоторой доработке в этом отношении. Возможно, немного больше работы над этим, а также ...

Надеюсь, это поможет.


Я думал об одном и том же, и сейчас я справляюсь с этим. Тем не менее, я хочу дать несколько парней, впервые знакомых с этой темой, и было бы неплохо, если бы Дженкинс работал. Я думаю, что я собираюсь рассказать им об этой проблеме или принять участие сам. Но спасибо за подсказку.
— HaMster

Пожалуйста, напишите, если будет найдено лучшее решение, или если вы, наконец, получите их, чтобы это исправить. Я должен был жить с этим более двух лет на моей предыдущей работе, и это раздражало. Установщик JNLP не работает из коробки во многих случаях (это один из них). Я думаю, что вместо того, чтобы пытаться использовать глупые DLL-файлы Windows, им следует ... вызывать сценарий командной строки, который либо добавляет его в качестве службы, либо создает запланированное задание. Я считаю, что это должно быть довольно легко.
— carlspring

У меня никогда не было проблем с собственным установщиком на окнах, который представлен на плате загрузки на домашней странице Jenkins . Первый раз, когда я не закончил установку успешно, был в описанном выше случае, даже если я сделал несколько попыток с различными сценариями. Итак, как я уже сказал, я думаю, что это специфическая проблема для Server 2012
— HaMster

О, я видел это на Windows Server 2008 каждый раз. Наверняка.
— Carlspring

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