Che cos'è Jenkins?

  • Jenkins è uno strumento di automazione a integrazione continua (open source) che viene installato sul server in cui viene eseguita la generazione. L'integrazione continua si riferisce a un processo in cui gli sviluppatori eseguono il commit del loro codice in un repository comunemente creato non appena completano lo sviluppo.
  • Nel processo CI / CD si ha anche un aumento delle spese generali e quindi abbiamo Jeline in pipeline per mantenere gli utenti e le autorizzazioni taggate su di loro. Lo stesso vale per i progetti in aumento.
  • Una volta che l'edificio aumenta, aumenta la necessità corrispondente di creare agenti di prova insieme alla loro manutenzione.

Definizione di Jenkins -

  • La definizione fornita per Jenkins da Jenkins.io è la seguente:

"Jenkins è un server di automazione autonomo e open source che può essere utilizzato per automatizzare tutti i tipi di attività legate alla costruzione, al collaudo, alla consegna o alla distribuzione di software".

  • Quindi, quando viene introdotto il concetto di integrazione continua o di implementazione continua, allora entrano in scena strumenti come Jenkins e gli ambienti. Ma qui parleremmo solo di Jenkins.

Capire Jenkins -

  • La pipeline di integrazione continua è un insieme di lavori sequenziali o paralleli, questi lavori sono progettati per eseguire un insieme di compiti configurati mediante l'interfaccia della GUI.
  • Poiché è diventato difficile mantenere il numero crescente di progetti, costruire, costruire revisioni e copie, viene introdotto il concetto di pipeline Jenkins. Questa pipeline si chiama jenkinsfile.
  • Jenkins supporta anche la finestra mobile e le reti mobili come le tecnologie in cui vengono eseguiti i microservizi.
  • A volte compaiono alcuni tipi di problemi come la lentezza dovuta all'enorme quantità di registri generati.
  • Jenkins può comportare un elevato utilizzo della CPU, proporzionale al numero di utenti che accedono a Jenkins.
  • Jenkins è verticale (richiede l'upscaling dell'hardware) e scalabile orizzontalmente (richiede più master Jenkins).
  • Si vede che avere un singolo master Jenkins è piacevole, ma il compromesso deve essere impostato tra la disponibilità e la facilità di gestione, poiché nel caso in cui il singolo master si abbassi, si fermerà il business.
  • Gli schiavi Jenkins contribuiscono allo stesso modo ai test insieme all'edificio, Jenkins fornisce il concetto di test paralleli che velocizzano anche la pipeline.
  • Viene fornita l'alta disponibilità insieme alla gestione del failover con sistemi primari e secondari.

Come funziona Jenkins -

Prima di iniziare a lavorare con Jenkins ci sono alcuni prerequisiti che devono essere soddisfatti.

L'hardware consigliato è il seguente:

  1. RAM> = 1 GB
  2. Spazio su disco> = 50 GB sarebbe sufficiente.

I prerequisiti software sono i seguenti:

  1. Windows / Linux (preferibilmente)
  2. JDK 8
  3. I contenitori Web conformi alla servlet 3.1 devono essere presenti.

Esistono due architetture in cui possiamo realizzare il progetto:

  1. Architettura master-slave
  2. Architettura master-master
  • Siamo in grado di impostare i nodi slave dalla pagina "Gestisci nodi". Quindi specificare i nodi e i loro nomi, quindi impostare le proprietà dei nodi, associare gli slave ai master e quindi avviare i nodi slave.
  • Ci sono alcune tecnologie di base che devono esserci ci sono -
  1. Gestore pacchetti nodo e GIT
  2. Eclipse IDE e Maven
  3. Banca dati
  4. Junit o selenio come strumenti di test per test automatici
  5. Qualsiasi ambiente come Docker (preferibilmente) farebbe.

Funziona in tre fasi: azioni di pre-costruzione, azioni di costruzione e azioni post-costruzione

Nelle azioni PreBuild: esistono minimizzatori JS per ridurre al minimo e comprimere il codice prima di inserirlo nella build, questo viene fatto utilizzando plug-in pre-build. Insieme a questo generatore di formiche può essere invocato nei casi richiesti, possono essere eseguiti batch di finestre, comandi di shell e possono essere invocate destinazioni maven per fornire i file di configurazione.

I plug-in pre-compilati eseguono push del codice, polling, compilazione, impacchettamento e pubblicazione.

Nella fase Azioni di costruzione: il codice inviato a questa fase dalla fase precedente viene compilato e testato.

Nella fase Post Build: qui i codici vengono archiviati nei formati distribuibili e, infine, vengono inviati.

Perché dovremmo usare Jenkins -

  • Compatibile per distribuire i microservizi con kubernetes e docker
  • La prossima era dell'applicazione riguarderebbe solo lo sviluppo basato su microservizi, poiché la necessità di scalabilità e disponibilità si presenta per determinati servizi solo negli scenari di applicazione massimi. Quindi le distribuzioni e i servizi possono essere spinti in modo automatizzato con Jenkins, devi solo dargli script di shell nell'input e può fare il resto del compito per te.
  • La pipeline è supportata.

Cosa puoi fare con Jenkins -

  • Creare un processo in due architetture come indicato sopra.
  • Se vuoi un solo master, puoi seguire questo approccio, se devi abbinare i vincoli di disponibilità, puoi andare con molti master.
  • Esistono molti plug-in open source per gestire più lavori in modo automatizzato.
  • Le applicazioni monolitiche o basate su microservizi sono ben supportate.

Vantaggi di Jenkins -

  1. È un server open source e di integrazione continua in natura.
  2. Jenkins ora trasporta pipeline.
  3. L'ambiente di consegna è ora fornito da qualsiasi lingua.
  4. Il processo di consegna del prodotto diventa più veloce e quindi segue il modello agile in stretta collaborazione.
  5. Jenkins è uno strumento CI / CD.
  6. Vengono fornite funzionalità come il controllo degli accessi in base al ruolo.
  7. Jenkins è scalabile, pertanto è possibile soddisfare i problemi di disponibilità e scalabilità.
  8. I team distribuiti possono funzionare ed è facile da gestire ora.
  9. Il supporto container è lì.
  10. Il server LDAP è parte integrante della sua architettura.
  11. Anche Jenkins 2.0 è retrocompatibile.
  12. Le pagine di configurazione della pagina di lavoro sono state create in modo improvvisato con Jenkins 2.0

Perché abbiamo bisogno di Jenkins -

  • Per processo CI / CD
  • Questi processi possono essere progettati in modo automatizzato, i programmatori eseguono il commit del codice, la compilazione con le nuove revisioni corrispondenti viene effettuata con un solo clic (eseguendo gli script forniti).
  • È ben supportato da plugin open source e strumenti di reportistica come Ant, Maven, Gradle, BitBucket, NodeJs, ecc.

Chi è il pubblico giusto per imparare Jenkins -

  • Chiunque nel ruolo di DevOps adorerebbe incorporare questo strumento per automatizzare il processo di costruzione.
  • Gli sviluppatori web alle prime armi che cercano una carriera come DevOps devono sapere come funziona questo strumento e come possiamo configurare il processo di creazione della build.

In che modo questa tecnologia ti aiuterà nella crescita della carriera -

  • Questo strumento si è evoluto continuamente con il passare del tempo e le nuove versioni hanno prodotto il supporto dell'architettura di microservizi, questa è l'architettura da seguire in tutti i progetti su larga scala come Netflix, tutto questo verrà gestito con Jenkins nel processo di costruzione.

Conclusione -

Jenkins è uno strumento CI / CD, open-source, compatibile con vari plugin, semplifica la vita quando la consegna del software deve essere eseguita su base agile.

Articoli consigliati

Questa è stata una guida a ciò che è Jenkins. Qui abbiamo discusso su come funziona, i vantaggi e la crescita della carriera di Jenkins. Puoi anche dare un'occhiata ai seguenti articoli per saperne di più -

  1. Come installare Jenkins
  2. Comandi Maven
  3. Alternative JIRA
  4. Che cos'è il selenio?
  5. Jenkins vs Hudson

Categoria: