Torna al blog
CI/CDGitHub ActionsDevOps

CI/CD con GitHub Actions

MUSTNODE SRL7 min di lettura

Automatizzare build, test e deploy

GitHub Actions permette di eseguire pipeline di integrazione e rilascio direttamente accanto al codice, senza server esterni. Ogni push o pull request puo attivare un workflow che compila, testa e distribuisce l'applicazione in modo ripetibile.

Anatomia di un workflow

Un workflow e un file YAML nella cartella .github/workflows. Definisce gli eventi che lo attivano, i job da eseguire e gli step di ciascun job. I job girano su runner ospitati da GitHub o self-hosted.

name: CI

on:
  push:
    branches: [main]
  pull_request:

jobs:
  build-test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: 20
          cache: npm
      - run: npm ci
      - run: npm run lint
      - run: npm test
      - run: npm run build

Separare CI e deploy

Conviene tenere distinti il job di verifica (lint, test, build) dal job di deploy, condizionando quest'ultimo al branch main e all'esito positivo dei test. Cosi un errore nei test blocca il rilascio prima che raggiunga la produzione.

Buone pratiche

  • Usa la cache delle dipendenze per ridurre i tempi.
  • Conserva i segreti in GitHub Secrets, mai nel codice.
  • Aggiungi controlli obbligatori sulle pull request.
  • Versiona le action con un tag esplicito.

In MUSTNODE SRL usiamo GitHub Actions per garantire che ogni rilascio passi sempre dagli stessi controlli, riducendo gli errori manuali e accelerando la consegna.

Articoli correlati

Altri approfondimenti dalla categoria Cloud & DevOps.