Eseguire il deploy in un ambiente di staging
Configuri un workflow per eseguire automaticamente il deploy dell’applicazione in un ambiente di staging per i test pre-produzione.
Eseguire il deploy in un ambiente di staging è 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.
Che cos'è un ambiente di staging?
Immagini di aver creato una nuova funzionalità per la sua app. Prima di mostrarla a tutti gli utenti (in produzione), vorrà testarla in un ambiente sicuro e realistico. È qui che entra in gioco un ambiente di staging!
Un ambiente di staging è una copia dell'ambiente di produzione. Viene utilizzato per i test finali prima di una release, consentendo di individuare i problemi e garantire la qualità senza influire sugli utenti reali.
Staging e produzione
Sebbene lo staging rispecchi la produzione, i due ambienti hanno scopi diversi:
- Staging: viene utilizzato per la garanzia della qualità (QA), i test di accettazione degli utenti (UAT) e i controlli finali. Solo un pubblico limitato (tester e stakeholder) vi interagisce.
- Produzione: è l'ambiente live utilizzato da tutti gli utenti finali. Eventuali problemi incidono direttamente sui clienti.
Distribuire prima in staging è un passaggio fondamentale per ridurre al minimo i rischi in produzione.
Funzionalità GitHub Environments
GitHub Actions offre una potente funzionalità chiamata Environments. Questa consente di definire ambienti logici (come staging o production) all'interno del repository.
Gli ambienti consentono di:
- Applicare regole di protezione (approvazioni manuali e timer di attesa).
- Gestire secret specifici per l'ambiente.
- Tenere traccia dei deployment verso ambienti specifici.
Dichiarare un ambiente di staging
Per utilizzare un ambiente nel workflow, è innanzitutto necessario definirlo nelle impostazioni del repository:
- Acceda al repository GitHub.
- Faccia clic su Impostazioni > Ambienti.
- Faccia clic su Nuovo ambiente e gli assegni un nome, ad esempio
staging.
Qui può aggiungere regole di protezione, ad esempio richiedere a un revisore di approvare i deployment.
Struttura di base del workflow di deployment
Vediamo ora come indicare a GitHub Actions di eseguire il deployment nell'ambiente staging. L'ambiente viene specificato all'interno di un job:
name: Deploy to Staging
on: push
jobs:
deploy-to-staging:
runs-on: ubuntu-latest
environment: staging # This links to your 'staging' environment
steps:
- name: Say Hello
run: echo "Deploying to staging!"Configurare la protezione dell'ambiente
La riga environment: staging nel workflow non si limita a etichettare il deployment. Se ha configurato regole di protezione per l'ambiente staging nelle impostazioni del repository, queste verranno applicate automaticamente.
Ad esempio, se è necessaria un'approvazione manuale, questo job verrà sospeso finché una persona autorizzata non avrà esaminato e approvato il deployment.
Creare l'applicazione
Prima del deployment, di solito è necessario creare l'applicazione. Questo può comportare la compilazione del codice, l'esecuzione dei test o il packaging degli asset. Aggiungeremo questi passaggi al job:
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Node.js (Example build step)
uses: actions/setup-node@v4
with:
node-version: '18'
- name: Install dependencies
run: npm ci
- name: Build application
run: npm run buildDistribuire gli artifact compilati
Dopo la build, il passaggio successivo consiste nel trasferire i file dell'applicazione al server di staging. Spesso questo comporta l'utilizzo di SSH, FTP o di uno strumento di deployment specifico per il cloud.
Ecco un passaggio concettuale. In uno scenario reale, sostituirebbe echo con il comando di deployment effettivo:
- name: Deploy to Staging Server
run: |
echo "Simulating deployment to staging..."
# scp -r ./dist user@staging.example.com:/var/www/html
# Or use a specific deployment action for AWS, Azure, etc.Riunire tutto: workflow di staging
Questo workflow completo si attiverà quando viene eseguito il push sul branch develop. Recupera il codice, crea l'app e poi, a livello concettuale, la distribuisce nell'ambiente staging, rispettando le eventuali regole di protezione configurate.
name: Deploy to Staging Environment
on:
push:
branches:
- develop # Trigger only on pushes to the 'develop' branch
jobs:
deploy:
runs-on: ubuntu-latest
environment: staging # Link this job to the 'staging' environment
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Node.js (Example)
uses: actions/setup-node@v4
with:
node-version: '18'
- name: Install dependencies
run: npm ci
- name: Build application
run: npm run build
- name: Deploy to Staging Server
run: echo "Deployment to staging completed!"Verifica del deployment in staging
Ha imparato a configurare un workflow di GitHub Actions per eseguire il deployment in un ambiente di staging. Metta alla prova le sue conoscenze!
Riepilogo: deployment in staging
Ottimo lavoro! Ha imparato a configurare GitHub Actions per eseguire il deployment in un ambiente di staging.
- Lo staging è un ambiente simile alla produzione, utilizzato per i test precedenti alla messa in produzione.
- Gli Environments di GitHub aiutano a gestire la sicurezza dei deployment e i secret.
- I workflow utilizzano la chiave
environmentper indirizzare deployment verso ambienti specifici. - Questo processo riduce al minimo i rischi e garantisce una transizione più fluida verso la produzione.
Successivamente esploreremo come gestire le informazioni sensibili con le variabili d'ambiente e i secret!
Domande Frequenti
La lezione «Eseguire il deploy in un ambiente di staging» è gratuita?
Sì — il testo completo di «Eseguire il deploy in un ambiente di staging» è 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 «Eseguire il deploy in un ambiente di staging»?
Configuri un workflow per eseguire automaticamente il deploy dell’applicazione in un ambiente di staging per i test pre-produzione. 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 «Eseguire il deploy in un ambiente di staging»?
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
- Introduzione al Continuous Deployment
- Eseguire il deploy in un ambiente di staging
- Variabili d’ambiente e segreti
- Distribuire in produzione con gate di approvazione