Jenkins Intégration GitHub : Comment installer le plugin Git ?
⚡ Résumé intelligent
Jenkins L'intégration GitHub connecte un serveur d'automatisation à un dépôt de code source afin que chaque commit puisse être compilé et vérifié automatiquement. L'installation du plugin Git, la création d'une tâche Freestyle, l'authentification par jeton et l'enregistrement d'un webhook finalisent la connexion.
Vous avez déjà appris ce que Jenkins est et comment l'installer sur un Windows Système. En supposant que ces étapes de base soient terminées, nous allons maintenant passer à la gestion des plugins.
Jenkins Il offre une excellente prise en charge des plugins. Plus d'un millier de plugins d'applications tierces sont disponibles. Pour vérifier si Jenkins Pour trouver l'application tierce que vous recherchez, consultez le répertoire des plugins à l'adresse suivante : https://plugins.jenkins.io/.
Installation des plugins dans Jenkins
Jenkins Il est livré avec une configuration assez basique, vous devez donc installer les plugins requis pour activer la prise en charge de chaque application tierce.
GitHub est un dépôt de code en ligne qui joue un rôle majeur dans le DevOps. Il offre une plateforme commune permettant à plusieurs développeurs travaillant sur le même code ou projet de télécharger et de récupérer des mises à jour, facilitant ainsi l'intégration continue.
Jenkins Le plugin Git doit être installé pour pouvoir récupérer du code depuis un dépôt GitHub. Les deux noms de plugins sont souvent confondus ; le tableau ci-dessous les distingue :
| Brancher | Ce qu'il offre | Nécessaire pour cette procédure pas à pas ? |
|---|---|---|
| plugin Git | Le Git option sous Source Code Gestion, clonage de dépôts et sélection de branches | Oui, c'est l'essentiel. |
| plugin GitHub | Gestion des webhooks, le Déclencheur de hook GitHub option, et l'état de la compilation est renvoyé aux commits | Uniquement pour le déclenchement automatique |
Vous n'avez pas besoin d'installer ces plugins si vous avez déjà accepté les plugins suggérés lors de l'installation. Jenkins L'installation nécessite la configuration du plugin Git. Sinon, voici comment l'installer et récupérer du code depuis un dépôt GitHub.
Comment installer le plugin Git dans Jenkins
Voici la procédure étape par étape pour installer le plugin Git dans Jenkins:
Étape 1 : Ouvrez votre tableau de bord.
Cliquez sur le Gérer Jenkins bouton sur votre Jenkins tableau de bord:
Étape 2 : Trouvez l'option des plugins.
Cliquez sur Plugins. Sur le courant Jenkins Cette entrée est simplement étiquetée Plugins; les versions plus anciennes portent la même étiquette à l'écran Gérer les plugins.
Étape 3 : Sur la page des plugins, ouvrez le Plugins disponibles onglet puis :
- Sélectionnez le Git plug-in
- Cliquez à nouveau Installer sans redémarrerLe téléchargement du plugin prend quelques instants, en fonction de votre connexion internet, et son installation est automatique.
- Vous pouvez également choisir Téléchargez maintenant et installez après le redémarrage, auquel cas le plugin est appliqué lorsque Jenkins Le prochain départ.
- Si le plugin est déjà installé, il apparaît sur le Produits L'onglet est vide et aucune mise à jour n'est proposée.
Étape 4 : Une fois les plugins installés, rendez-vous sur Gérer Jenkins > Extensions > InstalléesVos nouveaux plugins sont listés parmi les autres.
Une fois le plugin installé, Jenkins peut désormais être pointé vers un dépôt réel.
Comment intégrer Jenkins Avec GitHub
Nous allons maintenant détailler le processus d'intégration Jenkins et GitHub sur un Windows système:
Étape 1) Créer un nouvel emploi dans Jenkins. Ouvrez le Jenkins tableau de bord de votre Jenkins URL, Par exemple http://localhost:8080/Et cliquez Nouvel article:
Étape 2) Saisissez le nom de l'article, sélectionnez le type de tâche et cliquez sur OK. Nous allons créer un projet Freestyle à titre d'exemple.
Étape 3) Une fois que vous cliquez sur OKLa page vous redirige vers le formulaire de configuration du projet. Saisissez ici les informations relatives au projet :
Étape 4) Vous verrez un Git option sous Gestion du code source si le plugin Git a été installé dans Jenkins:
À noter: Si la Git L'option n'apparaît pas, réinstallez le plugin, redémarrez Jenkins, et connectez-vous à nouveau au tableau de bord. Git L'option sera alors visible comme indiqué ci-dessus.
Étape 5) Accédez au dépôt Git URL pour récupérer le code depuis GitHub.
Étape 6) Vous pourriez recevoir un message d'erreur lors de votre première connexion au dépôt. URL. Par exemple:
Cela se produit lorsque Git n'est pas installé sur la machine exécutant le programme. Jenkins. Jenkins ne fournit pas son propre binaire Git ; le plugin appelle l’exécutable Git sur l’hôte. Pour installer Git localement, rendez-vous sur https://git-scm.com/downloads.
Téléchargez le programme d'installation Git approprié pour votre système. Operating système - dans ce cas Windows — et installez-le sur la machine exécutant JenkinsSuivez les instructions à l'écran pour terminer l'installation.
Étape 7) Jenkins peut exécuter des dépôts Git une fois Git installé sur la machine. Pour confirmer l'installation, ouvrez un invite de commande, Le type git, puis appuyez sur Entrée. Une liste d'options Git apparaît :
:: Confirm the Git executable resolves and report its version git --version :: Expected output git version 2.51.0.windows.1 :: Show the full path Jenkins should record in Global Tool Configuration where git
Cela confirme que Git est installé sur votre système.
À noter: Si Git est déjà installé, ajoutez le git.exe chemin sous Gérer Jenkins > Outils (étiqueté) Configuration globale des outils (sur les versions plus anciennes).
Étape 8) Une fois tout en place, ajoutez Git URL développement Jenkins À nouveau. Aucun message d'erreur n'apparaît, ce qui confirme que Jenkins Intégration Git :
Git est désormais correctement configuré sur votre système. Un dépôt public peut être cloné à ce stade, mais un dépôt privé nécessite encore des identifiants ; ce sera l’étape suivante.
Comment s'authentifier Jenkins Avec un jeton d'accès personnel GitHub
GitHub a cessé d'accepter les mots de passe de compte pour les opérations Git en août 2021. Fournir un nom d'utilisateur et un mot de passe dans Jenkins Par conséquent, l'accès échoue à tout dépôt privé présentant une erreur d'authentification, même lorsque les mêmes identifiants sont utilisés pour se connecter au site web GitHub. Un jeton d'accès personnel remplace le mot de passe. Jenkins Il le stocke dans son propre système de gestion des informations d'identification plutôt que dans la configuration de la tâche.
Commencez par créer le jeton sur GitHub :
- Sur GitHub, ouvrez Paramètres > Paramètres pour les développeurs > Jetons d'accès personnels.
- Choisissez un à grain fin jeton lorsque cela est possible, car il peut être limité à un seul dépôt, ou à un classique un jeton si votre organisation en exige encore un.
- Accordez l'accès en lecture au contenu du dépôt. N'ajoutez l'accès en écriture à l'état des commits que lorsque vous le souhaitez. Jenkins pour que les résultats de la compilation soient répercutés dans les commits.
- Définissez une date d'expiration et copiez immédiatement le jeton — GitHub ne l'affiche qu'une seule fois.
Ensuite, enregistrez le jeton à l'intérieur Jenkins:
- Allez dans Gérer Jenkins > Identifiants > Système > Identifiants globaux et cliquez sur Ajouter des identifiants.
- Sélectionner Nom d'utilisateur et mot de passe comme type. Entrez votre nom d'utilisateur GitHub et collez le jeton dans le champ du mot de passe.
- Attribuez à l'entrée un identifiant clair tel que :
github-patIl est donc reconnaissable dans les écrans de configuration des tâches. - Retour au travail, ouvert Matériau Code Gestion > Git, et sélectionnez la nouvelle attestation d'identification parmi les Titres de compétences menu déroulant.
L'erreur de validation rouge sous le dépôt URL disparaît une fois Jenkins L'authentification est possible. Deux points pratiques sont à retenir. Premièrement, les jetons expirent ; une tâche qui a fonctionné correctement pendant des mois et qui échoue soudainement lors de l'extraction est presque toujours due à un jeton expiré plutôt qu'à un dépôt corrompu. Deuxièmement, une clé SSH est une alternative valable : ajoutez la clé privée comme Nom d'utilisateur SSH avec clé privée identifiant et utiliser le git@github.com:owner/repo.git URL formulaire au lieu du formulaire HTTPS.
Comment déclencher Jenkins Génération automatique via un webhook GitHub
La tâche créée ci-dessus doit encore être lancée manuellement, ce qui va à l'encontre du principe de l'intégration continue. Un webhook comble cette lacune : GitHub envoie une requête HTTP à Jenkins à chaque poussée, et Jenkins lance la construction immédiatement.
Jenkins Pour que cela fonctionne, GitHub doit être accessible depuis GitHub. Sur un ordinateur portable exécutant localhost:8080 ce n'est pas le cas, donc soit l'hôte Jenkins sur un public URL ou l'exposer temporairement via un service de tunnelage lors des tests.
- Installez le plugin GitHub. Retour à Gérer Jenkins > Extensions > Extensions disponibles et installez GitHubCela ajoute l'option de déclenchement que le plugin Git seul ne fournit pas.
- Activez le déclencheur sur la tâche. Ouvrez la configuration de la tâche, faites défiler jusqu'à Créer des déclencheurs, et cochez Déclencheur de hook GitHub pour l'interrogation GITScm.
- Ajoutez le webhook dans GitHub. Dans le dépôt, ouvrez Paramètres > Webhooks > Ajouter un webhook.
- Définir la charge utile URL à ta Jenkins adresse suivie de
/github-webhook/La barre oblique finale est importante. - Définir le type de contenu à
application/jsonet choisissez Juste l'événement push. - Enregistrer et tester. GitHub envoie un ping immédiatement. Une coche verte sous Livraisons récentes veux dire Jenkins Je l'ai accepté.
# Payload URL format for the GitHub webhook https://jenkins.example.com/github-webhook/ # Content type application/json # Verify from the Jenkins host that the endpoint answers curl -I https://jenkins.example.com/github-webhook/
Effectuez un commit pour confirmer que la boucle est fermée. La tâche devrait apparaître dans la file d'attente de compilation en quelques secondes, sans intervention manuelle. Si rien ne se passe, ouvrez le webhook dans GitHub et consultez le rapport. Livraisons récentes Code de réponse : une erreur 403 indique généralement un problème. Jenkins Les paramètres de sécurité bloquent l'accès anonyme au point de terminaison, tandis qu'un délai d'attente signifie que GitHub ne peut pas y accéder. Jenkins URL du tout.
Une fois les compilations déclenchées automatiquement, les frictions restantes se limitent généralement à quelques erreurs récurrentes.
Commun Jenkins Erreurs et correctifs d'intégration GitHub
Presque toutes les intégrations ratées appartiennent à l'une des catégories ci-dessous, et chacune présente un symptôme distinct qui pointe directement vers la cause.
- Aucune option Git sous Source Code Gestion: Le plugin Git n'est pas installé ou n'est pas chargé. Réinstallez-le depuis Gérer Jenkins > Plugins, redémarrer Jenkins, puis rechargez la page de configuration de la tâche.
- « Échec de la connexion au dépôt » sur un serveur public URL: Git est absent de la Jenkins hôte. Installez Git, puis confirmez avec
git --versionet enregistrez le chemin sous Gérer Jenkins > Outils. - L'authentification a échoué sur un dépôt privé : Un mot de passe de compte est utilisé. Remplacez-le par un jeton d'accès personnel comme décrit ci-dessus, ou utilisez une clé SSH.
- Les constructions ne démarrent jamais après une poussée : soit le Déclencheur de hook GitHub La case à cocher est décochée, ou GitHub ne peut pas accéder à Jenkins URLConsultez le journal de livraison du webhook dans les paramètres du référentiel.
- La mauvaise branche a été créée : le Spécificateur de branche conserve la valeur par défaut
*/mastertandis que le dépôt utilisemainMettez à jour le spécificateur pour qu'il corresponde. - La procédure de paiement fonctionnait hier et ne fonctionne plus aujourd'hui : Votre jeton d'accès personnel a expiré. Veuillez en générer un nouveau et mettre à jour les informations d'identification enregistrées.
Vérifiez également: Meilleur Jenkins Alternatives (Open Source et payantes) et la Pipeline CI / CD une présentation détaillée qui s'appuie sur le lien établi ici.
















