web-dev-qa-db-fra.com

Comment installer un plugin dans Jenkins manuellement

L'installation d'un plugin à partir du centre de mise à jour entraîne:

Vérification de la connectivité Internet Échec de la connexion à http://www.google.com/ . Peut-être avez-vous besoin de configurer un proxy HTTP? Échec du déploiement du plug-in - Détails hudson.util.IOException2: échec du téléchargement à partir de http://updates.jenkins-ci.org/download/plugins/deploy/1.9/deploy.hpi

Est-il possible de télécharger le plugin et de l'installer manuellement dans Jenkins?

112
Kishore Tamire

Oui, vous pouvez. Téléchargez le plugin (fichier * .hpi) et placez-le dans le répertoire suivant:

<jenkinsHome>/plugins/

Ensuite, vous devrez redémarrer Jenkins.

153
Michael Küller
  1. Téléchargez le plugin.
  2. Dans Jenkins: Manage JenkinsManage Plugins → Il y a un onglet appelé Advanced et sur cette page il y a une option pour télécharger un plugin (le l’extension du fichier doit être hpi).

Parfois, lorsque vous téléchargez des plugins, vous pouvez obtenir des fichiers (.Zip), puis renommer avec (.hpi) et utiliser l'interface utilisateur pour installer le plugin.

128
jfcorugedo

Si vous utilisez Docker, vous devriez lire ce fichier: https://github.com/cloudbees/jenkins-ci.org-docker/blob/master/plugins.sh

Exemple d'un fichier Dockerfile parent:

FROM jenkins
COPY plugins.txt /plugins.txt
RUN /usr/local/bin/plugins.sh /plugins.txt

plugins.txt

<name>:<version>
<name2>:<version2>
20
SergioArcos

J'ai créé un script simple qui effectue les tâches suivantes:

  • Télécharger un ou plusieurs plugins dans le répertoire plugin
  • Analyser tous les plugins dans ce répertoire pour les dépendances manquantes
  • téléchargez aussi ces dépendances
  • boucle jusqu'à ce qu'il n'y ait plus de dépendances ouvertes

Le script ne nécessite pas l'exécution de jenkins - je l'utilise pour approvisionner une boîte de menu fixe.

https://Gist.github.com/micw/e80d739c6099078ce0f

12
Michael Wyraz

Mise à jour pour Docker: utilisez le script install-plugins.sh . Il faut une liste de noms de plugins moins l'extension '-plugin'. Voir la description ici .

install-plugins.sh remplace le plugin.sh obsolète qui avertit maintenant:

WARN: plugins.sh is deprecated, please switch to install-plugins.sh

Pour utiliser un fichier plugins.txt correspondant à plugins.sh, voir ce problème et cette solution de contournement:

RUN /usr/local/bin/install-plugins.sh $(cat /usr/share/jenkins/plugins.txt | tr '\n' ' ')

10
satolizard

Parfois, lorsque vous téléchargez des plugins, vous pouvez obtenir des fichiers (.Zip), puis renommer avec (.hpi), puis extraire tous les plugins et les déplacer dans le répertoire <jenkinsHome>/plugins/.

9
Dnyaneshwar Kalme

La réponse acceptée est exacte, mais assurez-vous d'installer également toutes les dépendances nécessaires. L'installation à l'aide de la CLI ou du Web semble résoudre ce problème, mais mes plugins n'apparaissaient pas dans le navigateur ou n'utilisaient pas Java -jar jenkins-cli.jar -s http://localhost:8080 list-plugins tant que les dépendances n'ont pas été installées.

4
jdf

Utilisez https://updates.jenkins-ci.org/download/plugins/ . Téléchargez-le à partir de ce référentiel de mises à jour central pour Jenkins.

4
dirai

Les réponses données fonctionnent, avec des plugins ajoutés.

Si vous souhaitez remplacer/mettre à jour un plug-in intégré, comme le plug-in des informations d'identification, qui comporte des dépendances, vous devez utiliser l'interface frontale. Pour automatiser j'utilise:

 curl -i -F [email protected] http://jenkinshost/jenkins/pluginManager/uploadPlugin
2
bbaassssiiee

C'est un moyen de copier des plugins d'une boîte Jenkins à une autre.

Copiez le répertoire des plugins:

scp -r jenkins-box.url.com:/var/lib/jenkins/plugins .

Compressez les plugins:

tar cvfJ plugins.tar.xz plugins

Copiez-les dans l'autre boîte Jenkins:

scp plugins.tar.xz different-jenkins-box.url.com
ssh different-jenkins-box.url.com "tar xvfJ plugins.tar.xz -C /var/lib/jenkins"

Redémarrez Jenkins.

1
jmunsch

Dans mon cas, je devais installer un plug-in sur un serveur de build hors ligne qui exécute un serveur Windows (la version importera peu ici). J'ai déjà installé Jenkins sur mon ordinateur portable pour tester les modifications à l'avance et il s'exécute sur localhost: 8080 en tant que service Windows.

Donc, si vous êtes prêt à prendre le temps de configurer Jenkins sur une machine avec une connexion Internet et de transférer ces modifications au serveur hors ligne Jenkins (cela fonctionne, cela a été confirmé par moi!), Voici les étapes à suivre:

  • Jenkins sur mon ordinateur portable: Ouvrez Jenkins, http: // localhost: 808
  • Navigator: Manage Jenkins | Télécharger le plugin sans option d'installation
  • Explorateur Windows: Copiez le fichier de plug-in téléchargé qui se trouve dans le dossier "c:\programmes (x86)\Jenkins\plugins" (c'est-à-dire role-strategy.jpi).
  • Collez-le dans un dossier partagé du serveur hors connexion.
  • Arrêtez le service Jenkins (serveur Jenkins hors ligne) via les services de composants, service Jenkins
  • Copiez le fichier de plug-in (c'est-à-dire role-strategy.jpi) dans le dossier "c:\program files (x86)\Jenkins\plugins" du serveur (Offline Jenkins).
  • Redémarrez Jenkins et le tour est joué! Il devrait être installé.
1
yyardim

Pour installer le plugin "git" avec toutes ses dépendances:

curl -XPOST http://localhost:8080/pluginManager/installNecessaryPlugins -d '<install plugin="git@current" />'

Ici, le plugin installé est git; la version spécifiée sous la forme @current est ignorée par Jenkins. Jenkins s'exécute sur localhost port 8080, modifiez-le si nécessaire. Pour autant que je sache, c'est le moyen le plus simple d'installer un plugin avec toutes ses dépendances "à la main". Testé sur Jenkins v1.644

0
m.kocikowski