Come installare Jenkins su Windows Server 2012


13

Può sembrare una domanda banale ma ecco cosa sta succedendo:

  1. Prendo l'ultima versione di Jenkins come programma di installazione nativo per Windows (1.491 nel mio caso)
  2. Ho impostato un Windows Server 2012 (immagine di rilascio ufficiale, nessun candidato di rilascio) e installo tutti gli aggiornamenti
  3. Provo a eseguire l'installazione di Jenkins.

Tutto funziona correttamente nel processo di installazione tranne la parte in cui tenta di avviare il servizio. A questo punto mi informo che non ho i privilegi sufficienti per avviare i servizi di sistema. Questo ha funzionato su 2k8R2 senza problemi. Ho effettuato l'accesso come amministratore che è stato creato durante l'installazione del server ed è l'unico utente sulla macchina.

Il messaggio completo che ricevo è:

Impossibile avviare il servizio "Jenkins" (Jenkins). Verificare di disporre dei privilegi sufficienti per avviare i servizi di sistema.

Qualcun altro ha questi problemi? Immagino che gli interni di Server 2012 abbiano cambiato il modo di installazione e il programma di installazione di Jenkins non è stato creato per questo.

Se qualcuno può dirmi a quale gruppo devo aggiungere l'amministratore o può darmi una soluzione per questo problema, questo mi aiuterà molto.

Risposte:


13

Devi installare .net 3.5 (Anche se hai installato .net 4+)

Puoi farlo tramite Server Manager:

  • Configura server locale
  • Aggiungi ruoli e funzionalità
  • Fai clic su Avanti fino ad arrivare alla sezione delle funzionalità
  • Seleziona la casella di controllo .net 3.5 (ho anche controllato gli elementi secondari per una buona misura)
  • Se ricevi un avviso sulla necessità di specificare un percorso alternativo, allora:
    • Inserisci il supporto di installazione di Windows.
    • Fai clic su Specifica un percorso di origine alternativo
    • Inserisci D: \ sources \ sxs nel campo del percorso (fai clic su OK)
  • Fai clic su Installa

Una volta fatto ciò, dovresti essere in grado di installare Jenkins tramite il programma di installazione msi. Ora sarà in grado di avviare correttamente il servizio Jenkins.

Penso che Jenkins tenti di installare .net 3.5, ma poiché il supporto di installazione era "mancante" si blocca (poiché è in esecuzione in background) ed è per questo che si verifica il timeout


Non so perché, ma .NET Framework 3.5 sembra essere l'unico requisito mancante ... Grazie per questo suggerimento, che sta
risolvendo il

3

L'ho fatto finalmente!

Non solo ho dovuto installare .NET 3.5 (Thankyou DarcyThomas), ma ho anche scoperto che dovevo aggiungere un file di configurazione alla directory di installazione.

Aggiungi un file chiamato jenkins.exe.config con i seguenti contenuti nella directory di installazione:

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

Si scopre che quando si avvia il servizio, Windows tenta di colpire Internet per scaricare un certificato per confermare il firmatario dell'eseguibile. Quindi nel mio caso in cui il server non ha accesso a Internet, fallisce. Ho trovato la soluzione qui .

Spero che questo salvi gli altri le ore di dolore che ho appena passato. Saluti.


Quale edizione di Windows Server 2012 stavi eseguendo? Non ho mai dovuto farlo sulla mia edizione Standard.
HaMster,

Datacenter di Windows Server 2012 - Anche se pensavo che fosse principalmente la nostra architettura di rete a rompere le cose piuttosto che l'edizione stessa.
Ben Cull,

2

Ho trovato una soluzione basata su questa risposta di Jan. Il problema è che Windows sta cercando il certificato per il servizio e il tuo server non ha accesso a Internet. L'opzione migliore è abilitare l'accesso a Internet al server per l'installazione di Jenkins. Non ti servirà una volta installato Jenkins.

Puoi anche provare a disabilitare il controllo dei certificati in questo modo (anche se non sono sicuro che funzionerà.)

1) Creare la directory: C:\Program Files (x86)\Jenkins

2) Creare un file di testo denominato jenkins.exe.config

3) Aggiungi il seguente testo al file di testo:

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

4) Eseguire l'installazione come Administrator


Non dovresti davvero pubblicare link, che ne dici di copiare e incollare la tua altra risposta qui?
BenjiWiebe,

Ok ... questo è fatto
Serj Sagan,

2
Le risposte di copia / incolla sono generalmente scoraggiate se non vengono fornite / citate correttamente (rientra nel plagio).
cenere 1999

0

Creare un'attività pianificata di Windows che viene eseguita solo all'avvio di Windows. In alcune distribuzioni di Windows, l'esecuzione di Jenkins come servizio semplicemente non funziona immediatamente. Questo approccio è un trucco, ma funziona. L'ho usato su più nodi Windows.

Personalmente penso che i documenti di Jenkins su Windows necessitino di un po 'più di lucidatura al riguardo. Forse anche un po 'più di lavoro su questo ...

Spero che questo possa essere d'aiuto.


Ho pensato alla stessa cosa e ora la gestisco così. Tuttavia, voglio dare una breve introduzione ad alcuni nuovi arrivati ​​sull'argomento e sarebbe bello se Jenkins stesse lavorando. Immagino che li renderò consapevoli di questo problema o mi coinvolgerò da solo. Ma grazie per il suggerimento.
HaMster,

Per favore, riscrivi, se viene trovata una soluzione migliore o se riesci finalmente a risolverli. Ho dovuto conviverci per oltre due anni nel mio lavoro precedente ed è stato fastidioso. Il programma di installazione JNLP non funziona davvero in molti casi (essendo questo uno di questi). Penso che invece di provare a usare le stupide DLL di Windows, dovrebbero ... invocare uno script da riga di comando che lo aggiunge come servizio o crea un lavoro pianificato. Credo che questo dovrebbe essere abbastanza facile.
carlspring,

Non ho mai avuto problemi con il programma di installazione nativo su Windows fornito nella scheda di download nella home page di Jenkins . La prima volta che non ho terminato con successo l'installazione è stato nel caso sopra descritto, anche se ho fatto diversi tentativi con scenari diversi. Quindi, come ho detto, suppongo che si tratti di un problema specifico di Server 2012
HaMster,

Oh, l'ho visto su Windows Server 2008 ogni volta. Di sicuro.
carlspring,

È un server Windows che non ha problemi di accesso a Internet
Serj Sagan,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.