Comment installer Jenkins sur Windows Server 2012

13

Cela peut sembler une question triviale, mais voici ce qui se passe:

  1. J'attrape la dernière version de Jenkins en tant que programme d'installation natif pour Windows (1.491 dans mon cas)
  2. J'ai configuré un serveur Windows 2012 (image de version officielle, aucune version candidate) et j'installe toutes les mises à jour
  3. J'essaie d'exécuter l'installation de Jenkins.

Tout fonctionne bien dans le processus d'installation, sauf pour la partie où il essaie de démarrer le service. À ce stade, je suis informé que je n'ai pas les privilèges suffisants pour démarrer les services système. Cela a fonctionné sur 2k8R2 sans aucun problème. Je suis connecté en tant qu'administrateur créé lors de l'installation du serveur et est le seul utilisateur sur la machine.

Le message complet que je reçois est:

Le service 'Jenkins' (Jenkins) n'a pas pu démarrer. Vérifiez que vous disposez des privilèges suffisants pour démarrer les services système.

Quelqu'un d'autre a-t-il ces problèmes? Je suppose que les éléments internes de Server 2012 ont changé la manière de l'installation et le programme d'installation Jenkins n'est pas conçu pour cela.

Si quelqu'un peut me dire à quel groupe je dois ajouter l'administrateur, ou peut me donner une solution à ce problème, cela m'aidera beaucoup.

Hamster
la source

Réponses:

13

Vous devez installer .net 3.5 (même si vous avez installé .net 4+)

Pour cela, utilisez le Gestionnaire de serveur:

  • Configurer le serveur local
  • Ajouter des rôles et des fonctionnalités
  • Cliquez sur Suivant jusqu'à ce que vous arriviez à la section des fonctionnalités
  • Cochez la case .net 3.5 (j'ai également vérifié les sous-éléments pour faire bonne mesure)
  • Si vous recevez un avertissement vous demandant de spécifier un autre chemin, alors:
    • Insérez votre support d'installation Windows.
    • Cliquez sur Spécifier un autre chemin source
    • Mettez D: \ sources \ sxs dans le champ du chemin (cliquez sur OK)
  • Cliquez sur Installer

Une fois que vous avez fait cela, vous devriez pouvoir installer Jenkins via le programme d'installation msi. Il sera en mesure de démarrer avec succès le service Jenkins maintenant.

Je pense que Jenkins essaie d'installer .net 3.5, mais parce que le support d'installation était `` manquant '', il se bloque (car il s'exécute en arrière-plan) et c'est pourquoi il arrive à expiration

DarcyThomas
la source
Je ne sais pas pourquoi, mais le .NET Framework 3.5 semble être la seule exigence manquante ... Merci pour cette astuce, qui
corrige le
3

Je l'ai enfin fait!

Non seulement avais-je besoin d'installer .NET 3.5 (Merci DarcyThomas) mais j'ai également découvert que je devais également ajouter un fichier de configuration dans le répertoire d'installation.

Ajoutez un fichier appelé jenkins.exe.config avec le contenu suivant dans le répertoire d'installation:

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

Il s'avère que lors du démarrage du service, Windows essaie de se connecter à Internet pour télécharger un certificat pour confirmer le signataire de l'exécutable. Donc, dans mon cas où le serveur n'a pas accès à Internet, il échoue. J'ai trouvé la solution ici .

J'espère que cela sauvera tout le monde des heures de douleur que je viens de traverser. À votre santé.

Ben Cull
la source
Quelle édition de Windows Server 2012 exécutiez-vous? Je n'ai jamais eu à le faire sur mon édition Standard.
HaMster
Windows Server 2012 Datacentre - Même si je pensais que c'était principalement notre architecture réseau qui cassait les choses plutôt que l'édition elle-même.
Ben Cull
2

J'ai trouvé une solution basée sur cette réponse de Jan. Le problème est que Windows recherche le certificat pour le service et que votre serveur n'a pas accès à Internet. Votre meilleure option est d'activer l'accès Internet au serveur pour l'installation de Jenkins. Vous n'en aurez pas besoin une fois Jenkins installé.

Vous pouvez également essayer de désactiver la vérification des certificats de cette façon (même si je ne suis pas sûr que cela fonctionne.)

1) Créez le répertoire: C:\Program Files (x86)\Jenkins

2) Créez un fichier texte nommé jenkins.exe.config

3) Ajoutez le texte suivant au fichier texte:

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

4) Exécutez le programme d'installation en tant que Administrator

Serj Sagan
la source
Vous ne devriez vraiment pas publier de liens, que diriez-vous simplement de copier-coller votre autre réponse ici?
BenjiWiebe
Ok ... c'est fait
Serj Sagan
2
Les réponses de copier / coller sont généralement déconseillées si elles ne sont pas fournies / citées correctement (cela relève du plagiat).
ashes999
0

Créez à la place une tâche planifiée Windows qui est exécutée uniquement au démarrage de Windows. Sous certaines distributions de Windows, exécuter Jenkins en tant que service ne fonctionne tout simplement pas. Cette approche est un hack, mais cela fonctionne. Je l'ai utilisé sur plusieurs nœuds Windows.

Personnellement, je pense que les documents Jenkins sur Windows ont besoin d'un peu plus de polissage à cet égard. Peut-être un peu plus de travail là-dessus aussi ...

J'espère que ça aide.

carlspring
la source
J'ai pensé à la même chose et je le gère de cette façon maintenant. Cependant, je veux donner une introduction rapide à certains nouveaux venus sur le sujet et ce serait bien si Jenkins travaillait. Je suppose que je vais les sensibiliser à ce problème ou m'impliquer moi-même. Mais merci pour l'astuce.
HaMster
Veuillez réécrire, si une meilleure solution est trouvée, ou si vous réussissez enfin à les résoudre. J'ai dû vivre avec cela pendant plus de deux ans dans mon emploi précédent et c'était ennuyeux. Le programme d'installation de JNLP ne fonctionne pas vraiment hors de la boîte dans beaucoup de cas (ceci étant l'un d'entre eux). Je pense qu'au lieu d'essayer d'utiliser les stupides DLL de Windows, ils devraient ... invoquer un script de ligne de commande qui l'ajoute en tant que service ou crée un travail planifié. Je pense que cela devrait être assez facile.
carlspring
Je n'ai jamais eu de problème avec le programme d'installation natif sur Windows qui est fourni sur le tableau de téléchargement sur Jenkins-Homepage . La première fois que je n'ai pas terminé l'installation avec succès, c'était dans le cas décrit ci-dessus, même si je lui ai donné plusieurs essais avec différents scénarios. Donc, comme je l'ai dit, je suppose que c'est un problème spécifique à Server 2012
HaMster
Oh, je l'ai vu à chaque fois sur Windows Server 2008. Pour sûr.
carlspring
Il s'agit d'un serveur Windows n'ayant pas de problème d'accès à Internet
Serj Sagan