0Pricing
DevOps Bootcamp · Lezione

Strategie di monitoraggio delle pipeline

Esplori i metodi per monitorare stato, prestazioni e tassi di successo delle pipeline CI/CD.

Strategie di monitoraggio delle pipeline è una lezione DevOps Bootcamp gratuita su CoddyKit. Questa è la lezione 1 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento DevOps Bootcamp, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso DevOps Bootcamp include 4 lezioni in totale.

Perché monitorare le pipeline?

Immaginate di costruire una macchina complessa. Non la accendereste semplicemente sperando che tutto vada per il meglio, vero? Vorreste sapere se funziona, se è efficiente e se si guasta.

Lo stesso vale per le pipeline CI/CD. Il monitoraggio vi aiuta a comprenderne lo stato, le prestazioni e l'affidabilità. È fondamentale per identificare i colli di bottiglia, prevenire i problemi e garantire una distribuzione fluida del software.

Metriche essenziali della pipeline

Per comprendere davvero lo stato della pipeline, concentratevi sulle metriche principali:

  • Percentuale di successo: con quale frequenza la pipeline viene completata correttamente?
  • Percentuale di errori: con quale frequenza si verifica un errore?
  • Durata: quanto tempo richiede l'esecuzione?
  • Lead time: il tempo che intercorre tra il commit del codice e la distribuzione corretta.

Il monitoraggio di queste metriche aiuta a identificare i problemi, migliorare l'efficienza e prendere decisioni basate sui dati.

Visualizzazioni integrate di GitHub Actions

GitHub Actions offre un modo semplice per monitorare i workflow direttamente nell'interfaccia del repository.

Accedete alla scheda 'Actions' del repository GitHub. Qui vedrete l'elenco di tutte le esecuzioni dei workflow, il loro stato (riuscita, errore, in attesa) e la durata. Facendo clic su un'esecuzione specifica, potrete visualizzare i log dettagliati di ogni job e passaggio, estremamente utili per il debug.

Stato rapido con i badge

Desiderate mostrare a colpo d'occhio lo stato della pipeline? GitHub Actions consente di incorporare un badge di stato direttamente nel file README del repository.

Questi badge si aggiornano automaticamente e forniscono un'indicazione visiva in tempo reale dello stato dell'ultima esecuzione del workflow, ad esempio se è riuscita o meno. È possibile generare il codice Markdown per un badge dalla scheda 'Actions'.

![CI Workflow Status](https://github.com/OWNER/REPO/actions/workflows/ci.yml/badge.svg)

Comprendere lo stato di job e passaggi

Ogni job e ogni passaggio di un workflow di GitHub Actions ha uno stato: success, failure, cancelled o skipped.

Per impostazione predefinita, un job si interrompe immediatamente se uno dei passaggi al suo interno non riesce. Comprendere questi singoli stati è fondamentale per creare pipeline solide, capaci di reagire correttamente a esiti diversi.

name: Status Check Example
on: [push]
jobs:
  check_status:
    runs-on: ubuntu-latest
    steps:
      - name: First step (success)
        run: echo "This step always succeeds"
      - name: Second step (simulated failure)
        run: exit 1
      - name: Third step (only if previous fails)
        if: failure()
        run: echo "Previous step failed!"

Reagire allo stato con 'if'

La parola chiave condizionale if consente di eseguire passaggi o job solo quando vengono soddisfatte determinate condizioni, ad esempio in caso di riuscita o errore di un passaggio precedente.

È una funzionalità potente per creare pipeline resilienti che, per esempio, inviano notifiche solo in caso di errore o puliscono le risorse dopo un'esecuzione riuscita.

name: Conditional Run Example
on: [push]
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - name: Always run this
        run: echo "Starting build..."
      - name: This step might fail
        run: exit 0 # Change to 'exit 1' to see failure branch
      - name: Run on success
        if: success()
        run: echo "Build succeeded!"
      - name: Run on failure
        if: failure()
        run: echo "Build failed, sending alert!"

Aggiungere messaggi personalizzati ai log

Sebbene GitHub Actions fornisca automaticamente log dettagliati, a volte è necessario aggiungere messaggi specifici per migliorare la chiarezza e facilitare il debug.

È possibile usare comandi shell standard come echo nei passaggi run per stampare messaggi personalizzati, variabili o aggiornamenti sull'avanzamento direttamente nei log del workflow.

name: Custom Logging Example
on: [push]
jobs:
  log_info:
    runs-on: ubuntu-latest
    steps:
      - name: Print current time
        run: echo "Workflow started at: $(date)"
      - name: Perform a task
        run: |
          echo "Simulating a task..."
          sleep 2
          echo "Task completed."

Monitorare i tempi di esecuzione

Monitorare la durata dei job e dei passaggi è fondamentale per identificare i colli di bottiglia nelle prestazioni e ottimizzare le pipeline.

I log di GitHub Actions includono automaticamente i timestamp di ogni passaggio. È inoltre possibile imporre tempi massimi di esecuzione usando timeout-minutes a livello di job, per evitare che i workflow rimangano in esecuzione indefinitamente.

name: Job Timeout Example
on: [push]
jobs:
  long_job:
    runs-on: ubuntu-latest
    timeout-minutes: 1 # Job will be cancelled after 1 minute
    steps:
      - name: Start a long process
        run: |
          echo "Starting a process that takes 2 minutes..."
          sleep 120 # This will exceed the timeout
      - name: This step might not run
        run: echo "Process finished."

Recupero avanzato dei dati

Per un monitoraggio più avanzato e analisi personalizzate, è possibile accedere programmaticamente ai dati delle esecuzioni dei workflow tramite l'API di GitHub.

Questo consente di recuperare informazioni dettagliate su stati, durate e log dei workflow, da utilizzare poi per dashboard personalizzate, analisi più approfondite o integrazioni con sistemi di monitoraggio esterni. Offre ampie possibilità di osservabilità personalizzata oltre l'interfaccia utente.

Verifica rapida sullo stato

Considerate il seguente frammento di workflow. Che cosa verrà stampato nei log se il passaggio "Build Project" non riesce?

name: Question Workflow
on: [push]
jobs:
  ci:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v4
      - name: Build Project
        run: exit 1 # Simulate a failure
      - name: Notify on Success
        if: success()
        run: echo "Project built successfully!"
      - name: Notify on Failure
        if: failure()
        run: echo "Build failed, review logs."

Riepilogo: monitoraggio delle pipeline

Ottimo lavoro! Avete imparato a tenere sotto controllo le pipeline CI/CD.

  • Avete esplorato il monitoraggio integrato di GitHub e i badge di stato.
  • Avete visto come usare le condizioni if per reagire agli stati di job e passaggi.
  • Avete imparato ad aggiungere messaggi personalizzati ai log e a monitorare la durata dei job.

Queste strategie contribuiscono a rendere le pipeline solide, affidabili e performanti. Come passo successivo, potreste esplorare l'integrazione con strumenti di monitoraggio esterni.

Domande Frequenti

La lezione «Strategie di monitoraggio delle pipeline» è gratuita?

Sì — il testo completo di «Strategie di monitoraggio delle pipeline» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso DevOps Bootcamp, passa a CoddyKit PRO. Il corso DevOps Bootcamp include 4 lezioni in totale.

Cosa imparerò in «Strategie di monitoraggio delle pipeline»?

Esplori i metodi per monitorare stato, prestazioni e tassi di successo delle pipeline CI/CD. Eserciti DevOps Bootcamp con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare DevOps Bootcamp?

Non è richiesta alcuna esperienza precedente. DevOps Bootcamp su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 1 di 4.

Quanto tempo richiede la lezione «Strategie di monitoraggio delle pipeline»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione DevOps Bootcamp?

Sì. Ogni lezione DevOps Bootcamp include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Strategie di monitoraggio delle pipeline
  2. Integrazione con servizi esterni
  3. Configurazione di notifiche e avvisi
  4. Logging strutturato e distributed tracing
← Torna a DevOps Bootcamp