Modulo 03

CI/CD con GitHub Actions

GitHub Actions è il servizio di Continuous Integration e Continuous Delivery integrato in GitHub: esegue automaticamente operazioni ad ogni push, come compilare, testare e distribuire il progetto.

Creare un progetto Node.js

npm init -y

Genera automaticamente il file package.json.

Creare i file del progetto

Crea index.js:

console.log("Hello DevOps!");

Crea test.js:

console.log("Test eseguito correttamente.");

Configurare package.json

Sostituisci la sezione scripts:

{
  "name": "programma",
  "version": "1.0.0",
  "main": "index.js",
  "scripts": {
    "run": "node index.js",
    "test": "node test.js"
  }
}

Creare la cartella della pipeline

.github
└── workflows
    └── pipeline.yml

Scrivere la pipeline CI

name: CI Pipeline

on:
  push:
    branches:
      - main

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
      - name: Checkout repository
        uses: actions/checkout@v5

      - name: Setup Node.js
        uses: actions/setup-node@v4
        with:
          node-version: 20

      - name: Install dependencies
        run: npm install

      - name: Run Tests
        run: npm test

Come funziona

Ad ogni git push sul branch main, GitHub esegue automaticamente:

  1. Clona il repository
  2. Avvia una macchina virtuale Ubuntu
  3. Scarica il codice del progetto
  4. Installa Node.js
  5. Installa le dipendenze con npm install
  6. Esegue i test con npm test
  7. Segnala l'esito: spunta verde o errore

Pubblicare la pipeline

git add .
git commit -m "Aggiunta pipeline CI"
git push

Verificare l'esecuzione

Apri la scheda Actions della tua repository su GitHub. Ad ogni nuovo push la pipeline parte automaticamente.

Se tutti i passaggi vengono completati correttamente, comparirà una spunta verde che indica il successo dell'esecuzione — lo stesso verde che ritrovi in tutto questo sito.