Tutorial di Jenkins | Integrazione continua con Jenkins | Edureka



Jenkins Tutorial è il secondo blog della serie di blog Jenkins. Questo blog parla dell'architettura distribuita di Jenkins e di come creare una build utilizzando Jenkins.

Tutorial di Jenkins

Jenkins è uno degli strumenti più importanti in . Spero che tu abbia letto il mio blog precedente su . In questo blog tutorial di Jenkins, mi concentrerò sull'architettura di Jenkins e sulla pipeline di build di Jenkins insieme a ciò ti mostrerò come creare una build in Jenkins.

Prima di procedere con il tutorial di Jenkins, i punti chiave del blog precedente sono:





  • Jenkins viene utilizzato per integrare tutte le fasi DevOps con l'aiuto di plug-in.
  • I plugin Jenkins comunemente usati sono Git, Amazon EC2, progetto Maven 2, editore HTML ecc.
  • Jenkins ha oltre 1000 plugin e147.000 installazioni attive insieme a oltre 1 milione di utenti in tutto il mondo.
  • Con l'integrazione continua ogni modifica apportata al codice sorgenteècostruito. Svolge anche altre funzioni,ciò dipende dallo strumento utilizzato per l'integrazione continua.
  • Nokia è passato da Nightly build a Continuous Integration.
  • Il processo prima dell'integrazione continua presentava molti difetti. Di conseguenza, non solo la consegna del software era lenta, ma anche la qualità del software non era all'altezza. Anche gli sviluppatori hanno avuto difficoltà a individuare e correggere i bug.
  • L'integrazione continua con Jenkins ha superato queste carenze attivando continuamente una compilazione e un test per ogni modifica apportata al codice sorgente.

Ora è il momento giusto per capire l'architettura di Jenkins.

Architettura di Jenkins

Rivediamo l'architettura indipendente di Jenkins che ti ho spiegato nel , il diagramma sotto mostra lo stesso.



Jenkins Standalone Architecture - Cos

Questo singolo server Jenkins non era sufficiente per soddisfare determinati requisiti come:

  • A volte potresti aver bisogno di diversi ambienti per testare le tue build. Questa operazione non può essere eseguita da un singolo server Jenkins.
  • Se progetti più grandi e pesanti vengono costruiti su base regolare, un singolo server Jenkins non può semplicemente gestire l'intero carico.

Per soddisfare le esigenze sopra indicate, è stata introdotta l'architettura distribuita Jenkins.



Architettura distribuita di Jenkins

Jenkins utilizza un'architettura Master-Slave per gestire build distribuite. In questa architettura, Master e Slave comunicano tramite protocollo TCP / IP.

Jenkins Master

Il tuo server Jenkins principale è il Master. Il compito del Master è gestire:

  • Pianificazione dei lavori di costruzione.
  • Invio di build agli slave per l'esecuzione effettiva.
  • Monitorare gli slave (eventualmente portandoli online e offline secondo necessità).
  • Registrazione e presentazione dei risultati della costruzione.
  • Un'istanza principale di Jenkins può anche eseguire direttamente i lavori di compilazione.

Jenkins Slave

Uno Slave è un eseguibile Java che viene eseguito su una macchina remota. Di seguito sono riportate le caratteristiche di Jenkins Slaves:

  • Ascolta le richieste dell'istanza di Jenkins Master.
  • Gli slave possono essere eseguiti su una varietà di sistemi operativi.
  • Il compito di uno Slave è quello di fare ciò che gli viene detto, il che implica l'esecuzione di lavori di compilazione inviati dal Master.
  • È possibile configurare un progetto in modo che venga eseguito sempre su una particolare macchina Slave, o un particolare tipo di macchina Slave, o semplicemente lasciare che Jenkins scelga il successivo Slave disponibile.

Il diagramma seguente è autoesplicativo. Consiste in un Jenkins Master che gestisce tre Jenkins Slave.

Ora diamo un'occhiata a un esempio in cui Jenkins viene utilizzato per testare in diversi ambienti come: Ubuntu, MAC, Windows ecc.

Il diagramma seguente rappresenta lo stesso:

Le seguenti funzioni vengono eseguite nell'immagine sopra:

  • Jenkins controlla il repository Git a intervalli periodici per eventuali modifiche apportate al codice sorgente.
  • Ogni build richiede un ambiente di test diverso che non è possibile per un singolo server Jenkins. Per eseguire test in diversi ambienti, Jenkins utilizza vari Slave come mostrato nel diagramma.
  • Jenkins Master richiede a questi Slaves di eseguire test e generare rapporti di test.

Jenkins Build Pipeline

Viene utilizzato per sapere quale attività Jenkins è attualmente in esecuzione. Spesso diverse modifiche vengono apportate da più sviluppatori contemporaneamente, quindi è utile sapere quale modifica viene testata o quale modifica è in coda o quale build è interrotta. È qui che entra in gioco la pipeline. La pipeline di Jenkins ti offre una panoramica di dove stanno i test. Nella pipeline di compilazione, la compilazione nel suo insieme è suddivisa in sezioni, come le fasi di unit test, test di accettazione, creazione di pacchetti, reportistica e distribuzione. Le fasi della pipeline possono essere eseguite in serie o in parallelo e, se una fase ha successo, si passa automaticamente alla fase successiva (da qui la rilevanza del nome 'pipeline'). L'immagine sotto mostra come appare una pipeline di build multiple.

Spero che tu abbia capito i concetti teorici. Ora, divertiamoci un po 'con le pratiche.

Creerò un nuovo lavoro in Jenkins, è un Progetto Freestyle . Tuttavia, sono disponibili altre 3 opzioni. Diamo un'occhiata ai tipi di lavori di costruzione disponibili in Jenkins.

Progetto Freestyle:

I lavori di costruzione freestyle sono lavori di costruzione generici, che offrono la massima flessibilità.Il lavoro di costruzione freestyle è l'opzione più flessibile e configurabile e può essere utilizzato per qualsiasi tipo di progetto. È relativamente semplice da configurare e molte delle opzioni che configuriamo qui appaiono anche in altri lavori di costruzione.

Lavoro multiconfigurazione:

Il 'progetto multiconfiguration' (indicato anche come 'progetto a matrice') consente di eseguire lo stesso lavoro di compilazione su ambienti diversi. Viene utilizzato per testare un'applicazione in ambienti diversi, con database diversi o anche su macchine di compilazione diverse.

Monitorare un lavoro esterno:

Il lavoro di creazione 'Monitora un lavoro esterno' consente di tenere d'occhio i processi non interattivi, come i lavori cron.

Progetto Maven:

Il 'progetto maven2 / 3' è un lavoro di costruzione appositamente adattato ai progetti Maven. Jenkins comprende i file pom Maven e le strutture del progetto e può utilizzare le informazioni raccolte dal file pom per ridurre il lavoro che devi fare per impostare il tuo progetto.

Ecco un video sul tutorial di Jenkins per una migliore comprensione di Jenkins. Guarda questo video tutorial di Jenkins.

Introduzione a Jenkins | Tutorial su Jenkins e DevOps | Jenkins per principianti | Edureka

Creazione di una build utilizzando Jenkins

Passo 1: Dalla home page dell'interfaccia di Jenkins, seleziona Nuovo oggetto.

Passo 2: Immettere un nome e selezionare Progetto Freestyle .

Passaggio 3: Nella pagina successiva si specifica la configurazione del lavoro. Come osserverai rapidamente, sono disponibili numerose impostazioni quando crei un nuovo progetto.In questa pagina di configurazione, hai anche la possibilità di Aggiungi fase di costruzione per eseguire azioni extra come l'esecuzione di script. Eseguirò uno script di shell.

Questo ti fornirà una casella di testo in cui puoi aggiungere tutti i comandi di cui hai bisogno. È possibile utilizzare gli script per eseguire varie attività come la manutenzione del server, il controllo della versione, la lettura delle impostazioni di sistema, ecc. Userò questa sezione per eseguire un semplice script.

Passaggio 4: Salva il progetto e verrai indirizzato a una pagina di panoramica del progetto. Qui puoi vedere le informazioni sul progetto, inclusa la sua storia costruita.

Passaggio 5: Clic Costruisci ora sul lato sinistro per avviare la costruzione.

Passaggio 6: Per visualizzare ulteriori informazioni, fai clic su quella build nell'area della cronologia delle build, dopodiché verrai indirizzato a una pagina con una panoramica delle informazioni sulla build.

Passaggio 7: Il Uscita console Il collegamento in questa pagina è particolarmente utile per esaminare in dettaglio i risultati del lavoro.

Passaggio 8: Se torni a casa di Jenkins, vedrai una panoramica di tutti i progetti e le loro informazioni, incluso lo stato.

Lo stato della build è indicato in due modi, da un'icona meteo e da una pallina colorata. L'icona del tempo è particolarmente utile in quanto mostra un record di più build in un'unica immagine.

Come puoi vedere nell'immagine sopra, il sole rappresenta che tutte le mie build hanno avuto successo. Il colore della palla ci dà lo stato di quella particolare build, nell'immagine sopra il colore della palla è blu, il che significa che questa particolare build ha avuto successo.

In questo tutorial di Jenkins, ho appena fornito un esempio introduttivo. Nel mio prossimo blog, ti mostrerò come estrarre e creare codice dal repository GitHub utilizzando Jenkins.

Se hai trovato questo Tutorial di Jenkins pertinente, controlla il da Edureka, una società di formazione online affidabile con una rete di oltre 250.000 studenti soddisfatti sparsi in tutto il mondo. Il corso di formazione sulla certificazione DevOps Edureka aiuta gli studenti ad acquisire esperienza in vari processi e strumenti DevOps come Puppet, Jenkins, Nagios e GIT per l'automazione di più passaggi in SDLC.

Hai domande per noi? Per favore menzionalo nella sezione commenti e ti risponderemo.

tipo di dati data server sql