0Pricing
CI/CD with GitHub Actions & DevOps Pipelines · Lezione

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 build

Distribuire 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 environment per 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

  1. Introduzione al Continuous Deployment
  2. Eseguire il deploy in un ambiente di staging
  3. Variabili d’ambiente e segreti
  4. Distribuire in produzione con gate di approvazione
← Torna a CI/CD with GitHub Actions & DevOps Pipelines