User Avatar

Corso Jenkins

32 ore
Qualsiasi livello

Corso Jenkins:

Jenkins è definito un server open-source di CI/CD (Continuous Integration e Continuous Deployment). E’ uno strumento che consente di integrare il lavoro di un gruppo di sviluppatori minimizzando le problematiche del “merging” e dei conflitti tra le versioni del codice che si creano soprattutto nei progetti complessi.

Jenkins è un applicativo scritto in Java che si occupa di svolgere operazioni di merge, build e test con il monitoraggio dei task ripetitivi. Oggi è considerato tra i principali tool impiegati nello sviluppo software con metodologia DevOps.

Il tool nasce nel 2004 con il nome di Hudson all’interno di Sun Microsystems. Nel 2010 diventa Jenkins a seguito dell’acquisto di Sun Microsystems da parte di Oracle e con la registrazione di quest’ultima del marchio Hudson.

Il software Jenkins può essere distribuito oppure utilizzato in modalità stand-alone. Ha un’architettura modulare ed ha numerosi plug-in e personalizzazioni tali che consentono di estendere le funzionalità di base in relazione alla complessità del progetto.

L’elemento principale di Jenkins è la creazione di un job. Consiste in una serie di operazioni da svolgere in sequenza e da monitorare in output. Le fasi tipiche di un job sono le stesse tipiche del lavoro di build di un’applicazione.

Attraverso Jenkins il team di lavoro può fare sviluppo, test ed implementazione continua senza interruzioni del codice creato. Gli sviluppatori inviano le modifiche al codice sorgente ad un repository condiviso. Tutte le modifiche possono essere inviate continuamente e più volte al giorno. Il server Jenkins CI monitora le commit aumentando l’efficienza e la verifica del codice. Questo libera i tester dal lavoro consentendo una integrazione più rapida e con meno spreco di risorse. Jenkins si integra con praticamente tutti gli strumenti DevOps disponibili.

Altre caratteristiche di Jenkins sono:

  • nasce per java ma è utilizzabile per quasi tutti i linguaggi moderni
  • si interfaccia con qualsiasi tool di versionamento
  • si può integrare con altri build automation tool (Maven, Gralde ecc.)

Obiettivi del Corso Jenkins:

formare lo studente per apprendere la configurazione ed operatività di base di CI/CD con Jenkins


Requisiti per i discenti Corso Jenkins:

basi di Maven; corso per sviluppatori

Per altri corsi in ambito microservizi clicca QUI.

Corso Jenkins attivabile solo per le aziende e su richiesta.

Modalità virtual classroom online in diretta (o frontale in-house).

Programma Corso Jenkins (32 ore)

Panoramica Continuous Integration & Continuous Delivery
Confronto con lo sviluppo software tradizionale
Continuous Integration
Continous Delivery
Continuous Deployment
Costruzione di un continuous deployment process
Pipiline di Deployment automatico
Panoramica toll di CI/CD

Jenkins
Installazione e configurazione Jenkins
Installazione e configurazione Maven
Costruzione progetto con Maven
Costruzione progetto Maven con Jenkins

Jobs e configurazione
Jenkins Jobs
Freestyle Jobs
Triggers
Polling SCM
Variabili ambiente di sviluppo Jenkins
Costruzione progetto con Grandle
Parametrizzazione Build Jobs
Remote Triggering Parameterized Builds
Abilitare la Security in Jenkins
Build Pipelinese Promotions
Triggering Parameterized Builds

Configurazione Build Pipelines
Introduzione Pipelines e struttura
Sintassi Pipeline dichiarativa
Sintassi Pipeline con script
Building Pipelines In Jenkins
Continuous Integration Pipeline
Building Pipelines da Jenkinsfile
Snippet Generator
Snippet Generator
Global Variable Reference
Declarative Directive Generator
Restarting Pipelines
Multistage Pipeline

Automated Testing In Jenkins
Jenkins come un Automation Testing tool
CI con Junit in Jenkins
Code Coverage utilizzando Jacoco
Code Coverage con Clover
Acceptance e Performance Tests in Jenkins
Integrazione JMeter con Jenkins
Testing Code Coverage

Automated Deployment and Continuous Delivery
Introduzione
Building Continuous Delivery Process
Implementazione Automated e Continuous Deployment
Deploying a Python Application
Tomcat and Jenkins
PHP and Jenkins
Deploying Maven App To Tomcat Server

System Distribuited In Jenkins
Introduzione alla Architettura Distribuita
Creazione Multiple Slave Nodes
Deep Diving Jenkins Master/Slave Architecture
Assegnazione Jobs ai Specific Slave Nodes
Distributed Builds

Vuoi essere ricontattato?

Lasciaci il tuo numero telefonico e la tua email, ti richiameremo nelle 24h:

    Contattaci su Whatsapp