Skip to content

Latest commit

 

History

History
74 lines (53 loc) · 2.58 KB

STEP2.md

File metadata and controls

74 lines (53 loc) · 2.58 KB

Esercizio - Pipeline CI/CD con Jenkins e Docker

Questo esercizio guida alla configurazione di una pipeline CI/CD utilizzando Jenkins, Docker e una semplice applicazione Flask. La pipeline consente di costruire, taggare e pubblicare un'immagine Docker su Docker Hub. Inoltre, viene spiegato come eseguire manualmente l'immagine per verificare che l'applicazione funzioni.

Requisiti

  1. L'ambiente VM creato nello Step 1.
  2. Accesso a un account GitHub e Docker Hub.
  3. Un repository GitHub con il file Jenkinsfile e il codice dell'applicazione (come formazione_sou_k8s).

Istruzioni

Installazione di Docker all’interno di Jenkins Slave

  1. Entra nel container Jenkins Slave con privilegi sudo:

    sudo docker exec --user root -it jenkins_slave bash
  2. Aggiorna i pacchetti e installa Docker:

    apt-get update && apt-get install -y docker.io
  3. Esci dal container:

    exit

Configurazione delle credenziali

  1. Vai su Gestisci Jenkins > Credenziali > System > Credenziali globali.
  2. Clicca su Add Credentials e aggiungi:
  • ID github_credentials: i tuoi nome utente e password di GitHub.
  • ID dockerhub_credentials: i tuoi nome utente e password di Docker Hub.

Configurazione del repository GitHub

  1. Forka o utilizza il repository formazione_sou_k8s.
  2. Crea una release su GitHub con il tag v1.0:
  • Vai su Releases > Create a new release.
  • Inserisci v1.0 come tag e pubblica.

Configurazione della pipeline Jenkins

  1. Crea un nuovo elemento pipeline sulla dashboard di Jenkins e chiamalo flask-app-example-build.
  2. Configura l'elemento per utilizzare il repository GitHub:
  • Inserisci come URL di Deposito il link del repository GitHub.
  • Usa le credenziali github_credentials configurate in precedenza.
  • Come Ramo indicare */main.
  1. Salva e avvia la pipeline.

Verifica del risultato

Se la pipeline è configurata correttamente, verrà:

  • Clonato il repository.
  • Creata un’immagine Docker taggata come lucacisotto/flask-app-example:v1.0.
  • L’immagine verrà pushata su Docker Hub.

Eseguire l’immagine Docker localmente

  1. Sul tuo computer, effettua il pull dell’immagine da Docker Hub:

    sudo docker pull lucacisotto/flask-app-example:latest
  2. Esegui l’immagine sulla porta 5000:

    sudo docker run -p 5000:5000 lucacisotto/flask-app-example:latest
  3. Apri un browser e visita http://localhost:5000. Dovresti vedere il messaggio “hello world”.

Ora la pipeline è configurata e l’applicazione è funzionante.