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.

  • ???? Brancher Foundation: Jenkins Le système est livré avec un ensemble de fonctionnalités minimal, le support tiers s'effectue donc via des plugins installés depuis le Gestionnaire Jenkins Page des plugins.
  • 🌿 Plugin Git vs GitHub : Le plugin Git fournit la source Code Option de gestion permettant de cloner un dépôt ; le plugin GitHub ajoute la gestion des webhooks et le reporting de l’état des commits.
  • 💻 Installation locale de Git requise : Jenkins délègue le clonage à l'exécutable Git sur l'hôte, de sorte qu'une installation locale manquante produit le dépôt URL Erreur de validation.
  • (I.e. Authentification par jeton : GitHub a cessé d'accepter les mots de passe de compte pour les opérations Git en août 2021 ; les dépôts privés nécessitent donc un jeton d'accès personnel ou une clé SSH.
  • 🪝 Déclenchement automatique : Un webhook de dépôt pointant vers le Jenkins Le point de terminaison github-webhook lance une compilation à chaque envoi au lieu d'une exécution manuelle.
  • 🧾 Vérification: L'exécution de git --version confirme que l'exécutable est résolu, et la gestion Jenkins L'outil enregistre son chemin.
  • Récupération après échec : Source manquante Code Les options de gestion, les identifiants rejetés et les webhooks silencieux sont à l'origine de la plupart des échecs d'intégration.

Jenkins Intégration GitHub

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/.

Jenkins Intégration GitHub

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:

Installer le plugin Git dans Jenkins

É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.

Installer le plugin Git dans Jenkins

Étape 3 : Sur la page des plugins, ouvrez le Plugins disponibles onglet puis :

  1. Sélectionnez le Git plug-in
  2. 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.
  3. 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.
  4. 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.

Installer le plugin Git dans Jenkins

É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.

Installer le plugin Git dans Jenkins

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:

Intégrer Jenkins Avec GitHub

É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.

Intégrer Jenkins Avec GitHub

É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 :

Intégrer Jenkins Avec GitHub

Étape 4) Vous verrez un Git option sous Gestion du code source si le plugin Git a été installé dans Jenkins:

Intégrer Jenkins Avec GitHub

À 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.

Intégrer Jenkins Avec GitHub

Étape 6) Vous pourriez recevoir un message d'erreur lors de votre première connexion au dépôt. URL. Par exemple:

Intégrer Jenkins Avec GitHub

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.

Intégrer Jenkins Avec GitHub

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.

Intégrer Jenkins Avec GitHub

É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 :

Intégrer Jenkins Avec GitHub

:: 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 :

Intégrer Jenkins Avec GitHub

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 :

  1. Sur GitHub, ouvrez Paramètres > Paramètres pour les développeurs > Jetons d'accès personnels.
  2. 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.
  3. 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.
  4. 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:

  1. Allez dans Gérer Jenkins > Identifiants > Système > Identifiants globaux et cliquez sur Ajouter des identifiants.
  2. 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.
  3. Attribuez à l'entrée un identifiant clair tel que : github-pat Il est donc reconnaissable dans les écrans de configuration des tâches.
  4. 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.

  1. 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.
  2. 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.
  3. Ajoutez le webhook dans GitHub. Dans le dépôt, ouvrez Paramètres > Webhooks > Ajouter un webhook.
  4. Définir la charge utile URL à ta Jenkins adresse suivie de /github-webhook/La barre oblique finale est importante.
  5. Définir le type de contenu à application/json et choisissez Juste l'événement push.
  6. 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 --version et 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 */master tandis que le dépôt utilise mainMettez à 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.

FAQ

Oui. Le plugin Git clone depuis n'importe quel hôte Git, donc la source Code Les étapes de gestion sont identiques. Seule la configuration du webhook diffère, ainsi que l'utilisation de GitLab ou d'un GitLab dédié. Bitbucket Les plugins fournissent des déclencheurs spécifiques à l'hôte et des rapports d'état.

Pour tout ce qui va au-delà d'une démonstration, oui. JenkinsLe fichier stocke le pipeline La définition se trouve dans le dépôt lui-même, de sorte que les étapes de compilation sont versionnées et examinées en même temps que le code, au lieu de résider uniquement dans le dépôt. Jenkins UI.

AI Les assistants résument les journaux de compilation ayant échoué, proposent le commit probablement fautif et élaborent les étapes du pipeline à partir de la structure du dépôt. RevExaminez attentivement chaque suggestion avant de l'appliquer, en particulier celles qui concernent les identifiants.

Non. L'IA accélère le diagnostic et la création de configurations, mais l'orchestration, la planification et l'historique des modifications nécessitent toujours un serveur de compilation. Considérez l'IA comme un assistant superposé à… Jenkins, pas un remplacement.

Oui. Sondage SCM La fonction Build Triggers vérifie le dépôt selon une planification utilisant la syntaxe cron. Elle fonctionne derrière un pare-feu, mais gaspille des requêtes et retarde les compilations ; il est donc préférable d'utiliser des webhooks. Jenkins est accessible.

Résumez cet article avec :