0Pricing
DevOps Bootcamp · Lezione

Creazione di workflow CI/CD

Crei pipeline CI/CD pratiche per compilare, testare e distribuire automaticamente il codice in seguito a push o pull request.

Creazione di workflow CI/CD è una lezione DevOps Bootcamp gratuita su CoddyKit. Questa è la lezione 2 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.

Benvenuto nella CI/CD

In questa lezione imparerà a creare pipeline di Continuous Integration (CI) e Continuous Deployment (CD) efficaci usando GitHub Actions.

La CI/CD automatizza il processo di sviluppo software, dalle modifiche al codice alla distribuzione, rendendolo più rapido e affidabile.

Perché la CI/CD è importante

Perché l'automazione è così importante nello sviluppo software moderno?

  • Feedback più rapido: rilevare tempestivamente bug e problemi di integrazione eseguendo automaticamente i test.
  • Build coerenti: assicurarsi che ogni build segua gli stessi passaggi, riducendo i problemi del tipo "sul mio computer funziona".
  • Rilasci affidabili: distribuire nuove funzionalità o correzioni con maggiore sicurezza e meno errori manuali.
  • Collaborazione migliore: integrare le modifiche frequentemente e senza interruzioni, riducendo al minimo i conflitti di merge.

GitHub Actions: concetti fondamentali

GitHub Actions usa workflow definiti in file YAML. Questi file si trovano in una directory speciale del repository: .github/workflows/.

Un workflow definisce una serie di job, e ogni job contiene passaggi che eseguono comandi o usano actions predefinite. È così che si indica a GitHub cosa fare!

Creazione del primo workflow CI

Creiamo un workflow CI di base che si attiva a ogni push nel repository. Configurerà Node.js e simulerà il processo di build di un progetto.

Salvi questo contenuto come .github/workflows/ci.yml nel repository:

name: Node.js CI

on: [push]

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Set up Node.js
        uses: actions/setup-node@v4
        with:
          node-version: '18'
      - name: Install dependencies
        run: npm install
      - name: Build project
        run: node build.js

Simulazione dello script di build

Il comando node build.js del workflow eseguirebbe uno script simile a questo. Lo script simula il lavoro di compilazione, bundling o preparazione del codice dell'applicazione.

Provi a eseguirlo per visualizzare l'output:

console.log("Starting project build...");
console.log("  - Compiling source files...");
console.log("  - Bundling assets for deployment...");
console.log("Build process finished successfully!");

Aggiunta di test automatizzati

Una parte fondamentale della CI consiste nell'esecuzione di test automatizzati. Estendiamo il workflow aggiungendo un passaggio di test dopo l'installazione delle dipendenze. Se i test falliscono, il workflow fallisce, impedendo al codice problematico di proseguire!

Aggiungeremo un passaggio test come questo:

name: Node.js CI

on: [push]

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Set up Node.js
        uses: actions/setup-node@v4
        with:
          node-version: '18'
      - name: Install dependencies
        run: npm install
      - name: Run tests
        run: node test.js
      - name: Build project
        run: node build.js

Simulazione dello script di test

Ecco un semplice script test.js che il workflow potrebbe eseguire. In un progetto reale si userebbero framework di test come Jest o Mocha, ma questo esempio illustra il principio dell'esecuzione dei test.

Lo esegua per visualizzare un risultato di test simulato:

console.log("Running automated tests...");
const allTestsPass = Math.random() > 0.1; // Simulate 90% chance of passing

if (allTestsPass) {
  console.log("All 12 tests passed successfully!");
} else {
  console.error("Tests failed! Please fix the errors.");
  process.exit(1); // Exit with a non-zero code to indicate failure
}

Introduzione al Continuous Deployment (CD)

Mentre la CI si concentra sulla compilazione e sui test, il Continuous Deployment (CD) fa un passo ulteriore distribuendo automaticamente l'applicazione su un server o un servizio cloud dopo il superamento di tutti i controlli CI.

Tra i trigger CD più comuni troviamo:

  • La creazione di un nuovo tag Git, ad esempio v1.0.0
  • Il push su un branch specifico, ad esempio main o production
  • La creazione di una release GitHub

Un semplice workflow CD

Ecco un workflow che si attiva in seguito alla creazione di un nuovo tag Git e include un passaggio di distribuzione simulato. In uno scenario reale, questo passaggio interagirebbe con il provider di hosting, ad esempio AWS, Azure o Heroku.

Salvi questo file come .github/workflows/cd.yml:

name: Deploy to Production

on:
  push:
    tags:
      - 'v*.*.*' # Triggers on tags like v1.0.0, v1.2.3

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Simulate deployment
        run: |
          echo "Deploying application to production server..."
          echo "Version: ${{ github.ref_name }}"
          echo "Deployment complete!"
          # In a real scenario, you'd use a deployment action here
          # e.g., aws-actions/configure-aws-credentials, appleboy/ssh-action

Verifica del workflow CI/CD

Quali dei seguenti sono i principali vantaggi dell'implementazione di pipeline CI/CD?

Riepilogo: creazione di workflow CI/CD

Ha imparato a creare workflow CI/CD solidi con GitHub Actions!

  • Abbiamo definito la CI/CD e i suoi vantaggi per lo sviluppo moderno.
  • Abbiamo esplorato la struttura YAML essenziale dei workflow di GitHub Actions.
  • Abbiamo creato workflow CI per automatizzare build e test dei progetti.
  • Abbiamo progettato un workflow CD per distribuzioni automatiche attivate dai tag.

Continui ad automatizzare per distribuire il codice più velocemente e con maggiore sicurezza!

Domande Frequenti

La lezione «Creazione di workflow CI/CD» è gratuita?

Sì — il testo completo di «Creazione di workflow CI/CD» è 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 «Creazione di workflow CI/CD»?

Crei pipeline CI/CD pratiche per compilare, testare e distribuire automaticamente il codice in seguito a push o pull request. 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 2 di 4.

Quanto tempo richiede la lezione «Creazione di workflow CI/CD»?

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. Introduzione a GitHub Actions
  2. Creazione di workflow CI/CD
  3. Action personalizzate e Marketplace
  4. Segreti e variabili d’ambiente nelle Actions
← Torna a DevOps Bootcamp