13

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

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

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

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

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

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

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

4 ответа4

13

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

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

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

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

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

3

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

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

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

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

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

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

2

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

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

1) Создайте каталог: C:\Program Files (x86)\Jenkins

2) Создайте текстовый файл с именем jenkins.exe.config

3) Добавьте следующий текст в текстовый файл:

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

4) Запустите программу установки от имени Administrator

0

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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .