Jak zainstalować Jenkins na Windows Server 2012

13

To może brzmieć jak trywialne pytanie, ale oto, co się dzieje:

  1. Korzystam z najnowszej wersji Jenkins jako natywnego instalatora dla systemu Windows (w moim przypadku 1.491)
  2. Skonfigurowałem system Windows Server 2012 (oficjalne zdjęcie do wydania, brak kandydata do wydania) i zainstalowałem wszystkie aktualizacje
  3. Próbuję uruchomić instalację Jenkins.

Wszystko działa dobrze w procesie instalacji, z wyjątkiem części, w której próbuje uruchomić usługę. W tym momencie otrzymuję informację, że nie mam wystarczających uprawnień do uruchomienia usług systemowych. Działa to na 2k8R2 bez żadnych problemów. Jestem zalogowany jako Administrator, który został utworzony podczas instalacji serwera i jest jedynym użytkownikiem na komputerze.

Pełna wiadomość, którą otrzymuję to:

Usługa „Jenkins” (Jenkins) nie została uruchomiona. Sprawdź, czy masz wystarczające uprawnienia do uruchamiania usług systemowych.

Czy ktoś jeszcze ma te problemy? Wydaje mi się, że elementy wewnętrzne serwera 2012 zmieniły sposób instalacji, a instalator Jenkins nie jest do tego przystosowany.

Jeśli ktoś może mi powiedzieć, do której grupy muszę dodać administratora, lub może dać mi obejście tego problemu, to bardzo pomoże.

Chomik
źródło

Odpowiedzi:

13

Musisz zainstalować .net 3.5 (nawet jeśli masz zainstalowany .net 4+)

Robisz to za pomocą Menedżera serwera:

  • Skonfiguruj serwer lokalny
  • Dodaj role i funkcje
  • Kliknij przycisk Dalej, aż przejdziesz do sekcji funkcji
  • Zaznacz pole wyboru .net 3.5 (sprawdziłem również elementy podrzędne dla zachowania dobrej miary)
  • Jeśli pojawi się ostrzeżenie o konieczności określenia alternatywnej ścieżki, wówczas:
    • Włóż nośnik instalacyjny systemu Windows.
    • Kliknij opcję Określ alternatywną ścieżkę źródła
    • Umieść D: \ sources \ sxs w polu ścieżki (kliknij OK)
  • Kliknij Zainstaluj

Po wykonaniu tej czynności powinieneś być w stanie zainstalować Jenkinsa za pomocą instalatora msi. Będzie mógł teraz z powodzeniem uruchomić usługę Jenkins.

Myślę, że Jenkins próbuje zainstalować .net 3.5, ale ponieważ „brakowało” nośnika instalacyjnego, zawiesza się (ponieważ działa w tle) i dlatego właśnie przekroczył limit czasu

DarcyThomas
źródło
Nie wiem dlaczego, ale .NET Framework 3.5 wydaje się być jedynym wymaganiem, którego brakuje ... Dziękuję za podpowiedź, która rozwiązuje pierwotny problem
HaMster,
3

W końcu to zrobiłem!

Nie tylko musiałem zainstalować .NET 3.5 (Thankyou DarcyThomas), ale także dowiedziałem się, że muszę również dodać plik konfiguracyjny do katalogu instalacyjnego.

Dodaj plik o nazwie jenkins.exe.config z następującą zawartością do katalogu instalacyjnego:

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

Okazuje się, że podczas uruchamiania usługi Windows próbuje trafić do Internetu, aby pobrać certyfikat potwierdzający podpisanie pliku wykonywalnego. Tak więc w moim przypadku, gdy serwer nie ma dostępu do Internetu, nie działa. Tutaj znalazłem rozwiązanie .

Mam nadzieję, że to uratuje wszystkich innych godziny bólu, przez które właśnie przeszedłem. Twoje zdrowie.

Ben Cull
źródło
Które wydanie systemu Windows Server 2012 działało? Nigdy nie musiałem tego robić w mojej edycji Standard.
HaMster
Centrum danych systemu Windows Server 2012 - chociaż myślałem, że to głównie nasza architektura sieci zepsuła się, a nie sama edycja.
Ben Cull,
2

Znalazłem rozwiązanie oparte na tej odpowiedzi Jana Problem polega na tym, że Windows szuka certyfikatu dla usługi, a twój serwer nie ma dostępu do Internetu. Najlepszą opcją jest włączenie dostępu do Internetu do serwera w celu instalacji Jenkins. Nie będziesz go potrzebował po zainstalowaniu Jenkinsa.

Możesz także spróbować wyłączyć sprawdzanie certyfikatów w ten sposób (choć nie jestem pewien, czy to zadziała).

1) Utwórz katalog: C:\Program Files (x86)\Jenkins

2) Utwórz plik tekstowy o nazwie jenkins.exe.config

3) Dodaj następujący tekst do pliku tekstowego:

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

4) Uruchom instalację jako Administrator

Serj Sagan
źródło
Naprawdę nie powinieneś publikować linków, a może po prostu skopiuj i wklej swoją drugą odpowiedź tutaj?
BenjiWiebe
Ok ... zrobiono to
Serj Sagan
2
Odpowiedzi na kopiowanie / wklejanie są na ogół odradzane, jeśli nie są odpowiednio pozyskiwane / cytowane (popada w plagiat).
ashes999
0

Zamiast tego utwórz zaplanowane zadanie systemu Windows, które będzie uruchamiane tylko po uruchomieniu systemu Windows. W niektórych dystrybucjach systemu Windows uruchomienie Jenkins jako usługi po prostu nie działa od razu po wyjęciu z pudełka. To podejście jest włamaniem, ale działa. Użyłem go w wielu węzłach Windows.

Osobiście uważam, że dokumentacja Jenkinsa w systemie Windows wymaga nieco dopracowania w tym zakresie. Być może trochę więcej pracy nad tym również ...

Mam nadzieję, że to pomoże.

carlspring
źródło
Myślałem o tym samym i teraz sobie z tym radzę. Chciałbym jednak przedstawić niektórym początkującym w temacie krótkie wprowadzenie i byłoby miło, gdyby Jenkins pracował. Chyba poinformuję ich o tym problemie lub sam się zaangażuję. Ale dziękuję za podpowiedź.
HaMster,
Proszę odpisać, jeśli zostanie znalezione lepsze rozwiązanie lub jeśli w końcu uda ci się to naprawić. Musiałem z tym żyć przez ponad dwa lata w poprzedniej pracy i było to denerwujące. Instalator JNLP tak naprawdę nie działa od razu po wyjęciu z pudełka w wielu przypadkach (jest to jeden z nich). Myślę, że zamiast próbować używać głupich bibliotek DLL systemu Windows, powinni ... wywołać skrypt wiersza polecenia, który dodaje go jako usługę lub tworzy zaplanowane zadanie. Uważam, że powinno to być dość łatwe.
Carlspring
Nigdy nie miałem żadnych problemów z natywnym instalatorem w systemie Windows, który znajduje się na płycie pobierania na stronie Jenkins-Homepage . Pierwszy raz, gdy instalacja nie zakończyła się powodzeniem, miała miejsce w powyższym przypadku, nawet jeśli dałem jej kilka prób z różnymi scenariuszami. Tak jak powiedziałem, myślę, że jest to specyficzny problem z serwerem 2012
HaMster
Och, widziałem to za każdym razem w systemie Windows Server 2008. Na pewno.
carlspring
Jest to system Windows Server bez problemu z dostępem do Internetu
Serj Sagan