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 Git & GitHub Professional Workflow 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 Git & GitHub Professional Workflow, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Git & GitHub Professional Workflow 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.jsSimulazione 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.jsSimulazione 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
mainoproduction - 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-actionVerifica 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 Git & GitHub Professional Workflow, passa a CoddyKit PRO. Il corso Git & GitHub Professional Workflow 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 Git & GitHub Professional Workflow 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 Git & GitHub Professional Workflow?
Non è richiesta alcuna esperienza precedente. Git & GitHub Professional Workflow 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 Git & GitHub Professional Workflow?
Sì. Ogni lezione Git & GitHub Professional Workflow 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
- Introduzione a GitHub Actions
- Creazione di workflow CI/CD
- Action personalizzate e Marketplace
- Segreti e variabili d’ambiente nelle Actions