Jenkins Integrazione con GitHub: come installare il plugin Git?
⚡ Riepilogo intelligente
Jenkins L'integrazione con GitHub collega un server di automazione a un repository sorgente, consentendo la compilazione e la verifica automatica di ogni commit. L'installazione del plugin Git, la creazione di un job Freestyle, l'autenticazione tramite token e la registrazione di un webhook completano la connessione.
Hai già imparato cosa Jenkins è e come farlo installalo su a Windows sistemaSupponendo che questi passaggi di base siano stati completati, passeremo ora alla gestione dei plugin.
Jenkins ha un supporto eccezionale per i plugin. Sono disponibili oltre mille plugin di applicazioni di terze parti. Per verificare se Jenkins supporta l'applicazione di terze parti che hai in mente, cerca nella directory dei plugin all'indirizzo https://plugins.jenkins.io/.
Installazione dei plugin in Jenkins
Jenkins Viene fornito con una configurazione piuttosto basilare, quindi è necessario installare i plugin richiesti per abilitare il supporto per ogni applicazione di terze parti.
GitHub è un repository di codice basato sul web che svolge un ruolo fondamentale nel DevOps. Fornisce una piattaforma comune che consente a più sviluppatori che lavorano sullo stesso codice o progetto di caricare e recuperare il codice aggiornato, facilitando così l'integrazione continua.
Jenkins È necessario installare il plugin Git prima di poter scaricare il codice da un repository GitHub. I due nomi dei plugin vengono spesso confusi, quindi la tabella seguente li distingue:
| Plugin | Cosa fornisce | È necessario per questa guida? |
|---|---|---|
| Plugin Git | Migliori Idiota opzione in Origine Code Gestione, clonazione del repository e selezione del ramo | Sì, questo è quello essenziale. |
| Plugin GitHub | Gestione Webhook, Attivazione hook di GitHub opzione e stato della build riportato ai commit | Solo per l'attivazione automatica |
Non è necessario installare questi plugin se hai già accettato i plugin suggeriti durante l' Jenkins configurazione di installazione, poiché il plugin Git fa parte di tale pacchetto. In caso contrario, ecco come installarli e scaricare il codice da un repository GitHub.
Come installare il plugin Git in Jenkins
Di seguito è riportato un processo passo passo su come installare il plugin Git in Jenkins:
Passo 1: Apri la tua dashboard.
Clicca sul gestire Jenkins pulsante sul tuo Jenkins pannello di controllo:
Passo 2: Individua l'opzione plugin.
Fare clic su plugin. Attualmente Jenkins rilascia questa voce è etichettata semplicemente plugin; versioni precedenti etichettate con la stessa schermata Gestisci plugin.
Passo 3: Nella pagina Plugin, apri il Plugin disponibili tab e poi:
- Seleziona il Idiota plug-in
- Clicchi Installa senza riavviareIl plugin impiega qualche istante per essere scaricato, a seconda della velocità della connessione internet, e viene installato automaticamente.
- In alternativa puoi scegliere Scarica ora e installa dopo il riavvio, nel qual caso il plugin viene applicato quando Jenkins il prossimo inizia.
- Se il plugin è già presente, appare su Installato nella scheda non viene offerto alcun aggiornamento.
Passo 4: Una volta installati i plugin, vai a gestire Jenkins > Plugin > InstallatiI tuoi nuovi plugin sono elencati insieme agli altri.
Con il plugin installato, Jenkins Ora è possibile puntare a un repository effettivo.
Come integrare Jenkins Con GitHub
Ora esamineremo il processo di integrazione Jenkins e GitHub su un Windows sistema:
Passo 1) Crea un nuovo lavoro in Jenkins. Apri il Jenkins cruscotto al tuo Jenkins URLdi strumenti adatti, questi http://localhost:8080/e fare clic Nuovo elemento:
Passo 2) Inserisci il nome dell'articolo, seleziona il tipo di lavoro e fai clic OK. Creeremo un progetto Freestyle come esempio.
Passo 3) Una volta che fai clic OKLa pagina reindirizza al modulo di configurazione del progetto. Inserisci qui le informazioni del progetto:
Passo 4) Vedrai a Idiota opzione sotto Fonte Code Management se il plugin Git è stato installato in Jenkins:
Nota: Se l' Idiota l'opzione non appare, reinstalla il plugin, riavvia Jenkinse accedi di nuovo alla dashboard. Il Idiota L'opzione sarà quindi visibile come mostrato sopra.
Passo 5) Accedi al repository Git URL per scaricare il codice da GitHub.
Passo 6) Potresti ricevere un messaggio di errore la prima volta che accedi al repository URL. Per esempio:
Questo accade quando Git non è installato sulla macchina in esecuzione Jenkins. Jenkins non include il proprio binario Git; il plugin richiama l'eseguibile Git sull'host. Per installare Git localmente, vai a https://git-scm.com/downloads.
Scarica il programma di installazione Git appropriato per il tuo Operasistema di ting — in questo caso Windows — e installarlo sulla macchina in esecuzione JenkinsSegui le istruzioni visualizzate sullo schermo per completare l'installazione.
Passo 7) Jenkins è possibile eseguire repository Git una volta che Git è installato sulla macchina. Per confermare l'installazione, apri un prompt dei comandi, Il tipo di gite premi Invio. Apparirà un elenco di opzioni Git:
:: 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
Ciò conferma che Git è installato sul tuo sistema.
Nota: Se Git è già installato, aggiungi il git.exe percorso sotto gestire Jenkins > Strumenti (etichettato) Configurazione globale dello strumento (nelle versioni precedenti).
Passo 8) Con tutto a posto, aggiungi il Git URL ai miglioramenti Jenkins di nuovo. Non appare alcun messaggio di errore, il che conferma la Jenkins Integrazione Git:
Git è ora configurato correttamente sul tuo sistema. Un repository pubblico verrà clonato a questo punto, ma per un repository privato sono ancora necessarie le credenziali, che rappresentano il passaggio successivo.
Come autenticare Jenkins Con un token di accesso personale di GitHub
GitHub ha smesso di accettare le password degli account per le operazioni Git nell'agosto 2021. Fornire un nome utente e una password in Jenkins pertanto fallisce contro qualsiasi repository privato con un errore di autenticazione, anche quando le stesse credenziali accedono al sito web di GitHub. Un token di accesso personale sostituisce la password e Jenkins Lo memorizza nel proprio archivio delle credenziali anziché nella configurazione del lavoro.
Innanzitutto, crea il token su GitHub:
- In GitHub, apri Impostazioni > Impostazioni sviluppatore > Token di accesso personali.
- Scegli un a grana fine token ove possibile, perché può essere limitato a un singolo repository o a un classico token, se la vostra organizzazione ne richiede ancora uno.
- Concedi l'accesso in lettura al contenuto del repository. Aggiungi l'accesso in scrittura allo stato del commit solo quando lo desideri. Jenkins per riportare i risultati della build sui commit.
- Imposta una data di scadenza e copia immediatamente il token: GitHub lo visualizzerà una sola volta.
Quindi registra il token all'interno Jenkins:
- Vai su gestire Jenkins > Credenziali > Sistema > Credenziali globali e fare clic su Aggiungi credenziali.
- Seleziona Nome utente con password come il tipo. Inserisci il tuo nome utente GitHub e incolla il token nel campo della password.
- Assegna alla voce un ID chiaro come
github-patin modo che sia riconoscibile nelle schermate di configurazione del lavoro. - Ritorno al lavoro, aperto Fonte Code Gestione > Gite selezionare la nuova credenziale da Credenziali cadere in picchiata.
L'errore di convalida rosso sotto il repository URL scompare una volta Jenkins può autenticarsi. Due note pratiche vale la pena ricordare. Primo, i token scadono; un lavoro che è stato eseguito in modo affidabile per mesi e improvvisamente fallisce al checkout è quasi sempre dovuto a un token scaduto piuttosto che a un repository danneggiato. Secondo, una chiave SSH è un'alternativa valida: aggiungi la chiave privata come Nome utente SSH con chiave privata credenziale e utilizzare il git@github.com:owner/repo.git URL modulo anziché il modulo HTTPS.
Come innescare Jenkins Compilazione automatica tramite webhook di GitHub
Il lavoro creato sopra deve ancora essere avviato manualmente, il che vanifica lo scopo dell'integrazione continua. Un webhook colma questa lacuna: GitHub invia una richiesta HTTP a Jenkins ad ogni spinta, e Jenkins avvia immediatamente la compilazione.
Jenkins deve essere raggiungibile da GitHub affinché funzioni. Su un laptop con localhost:8080 non lo è, quindi entrambi gli host Jenkins su un pubblico URL oppure esporlo temporaneamente tramite un servizio di tunneling durante i test.
- Installa il plugin GitHub. Torna a gestire Jenkins > Plugin > Plugin disponibili e installare GitHubQuesto aggiunge l'opzione di attivazione che il plugin Git da solo non fornisce.
- Abilita il trigger sul lavoro. Apri la configurazione del lavoro, scorri fino a Trigger di builde spuntare Trigger di hook GitHub per il polling GITScm.
- Aggiungi il webhook su GitHub. Nel repository, apri Impostazioni > Webhook > Aggiungi webhook.
- Imposta il carico utile URL alla tua Jenkins indirizzo seguito da
/github-webhook/La barra finale è importante. - Imposta il tipo di contenuto a
application/jsone scegli Solo l'evento di spinta. - Salva e prova. GitHub invia un ping immediatamente. Un segno di spunta verde sotto Consegne recenti si intende Jenkins l'ho accettato.
# 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/
Esegui un commit per confermare la chiusura del ciclo. Il job dovrebbe apparire nella coda di build entro pochi secondi senza alcuna azione manuale. Se non succede nulla, apri il webhook in GitHub e leggi il Consegne recenti codice di risposta: un 403 di solito punta a Jenkins impostazioni di sicurezza che bloccano l'accesso anonimo all'endpoint, mentre un timeout significa che GitHub non può raggiungere l'endpoint Jenkins URL affatto.
Una volta che le build si attivano automaticamente, l'ostacolo rimanente è solitamente rappresentato da una manciata di errori ricorrenti.
Uncommon Jenkins Errori di integrazione con GitHub e relative soluzioni
Quasi tutte le integrazioni fallite rientrano in una delle categorie seguenti, e ognuna presenta un sintomo specifico che ne indica direttamente la causa.
- Non è presente l'opzione Git sotto "Codice sorgente". Code Management: Il plugin Git non è installato o non è caricato. Reinstallalo da gestire Jenkins > Plugin, ricomincia Jenkinse ricaricare la pagina di configurazione del lavoro.
- “Impossibile connettersi al repository” su un repository pubblico URL: Git manca da Jenkins host. Installa Git, quindi conferma con
git --versione registrare il percorso sotto gestire Jenkins > Strumenti. - Autenticazione non riuscita su un repository privato: È in uso una password per l'account. Sostituiscila con un token di accesso personale come descritto sopra, oppure passa a una chiave SSH.
- Le build non iniziano mai dopo un push: sia la Attivazione hook di GitHub la casella di controllo non è selezionata oppure GitHub non riesce a raggiungere Jenkins URL. Controlla il registro di consegna del webhook nelle impostazioni del repository.
- È stato creato il ramo sbagliato: , il Specificatore di ramo detiene ancora il default
*/mastermentre il repository utilizzamainAggiornare lo specificatore in modo che corrisponda. - Il checkout funzionava ieri, ma oggi non funziona: Il token di accesso personale è scaduto. Generane uno nuovo e aggiorna le credenziali memorizzate.
Controlla anche: Migliori Jenkins Alternative (Open Source e a pagamento) e Conduttura CI/CD una guida dettagliata che si basa sul collegamento stabilito qui.
















