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 CI/CD with GitHub Actions & DevOps Pipelines 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 CI/CD with GitHub Actions & DevOps Pipelines, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso CI/CD with GitHub Actions & DevOps Pipelines 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 CI/CD with GitHub Actions & DevOps Pipelines, passa a CoddyKit PRO. Il corso CI/CD with GitHub Actions & DevOps Pipelines 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 CI/CD with GitHub Actions & DevOps Pipelines 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 CI/CD with GitHub Actions & DevOps Pipelines?
Non è richiesta alcuna esperienza precedente. CI/CD with GitHub Actions & DevOps Pipelines 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 CI/CD with GitHub Actions & DevOps Pipelines?
Sì. Ogni lezione CI/CD with GitHub Actions & DevOps Pipelines 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