DevOps-bootcamp · Lektion

Distribuera till en stagingmiljö

Konfigurera ett arbetsflöde som automatiskt distribuerar er applikation till en stagingmiljö för tester före produktion.

Lektion 2 av 411 steg

Distribuera till en stagingmiljö är en gratis lektion i DevOps-bootcamp på CoddyKit. Detta är lektion 2 av 4. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för DevOps-bootcamp, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i DevOps-bootcamp innehåller totalt 4 lektioner.

Vad är en stagingmiljö?

Föreställ er att ni har byggt en ny funktion för er app. Innan ni visar den för alla (i produktion) vill ni testa den i en säker och realistisk miljö. Det är här en stagingmiljö kommer in i bilden!

En stagingmiljö är en kopia av produktionsmiljön. Den används för slutlig testning före en release, så att ni kan upptäcka problem och säkerställa kvalitet utan att påverka användare i produktion.

Staging kontra produktion

Staging speglar produktionen, men miljöerna har olika syften:

  • Staging: Används för kvalitetssäkring (QA), användaracceptanstestning (UAT) och slutliga kontroller. Endast en begränsad målgrupp (testare och intressenter) använder miljön.
  • Produktion: Den aktiva miljö som används av alla slutanvändare. Eventuella problem här påverkar era kunder direkt.

Att först driftsätta till staging är ett viktigt steg för att minimera riskerna i produktion.

Funktionen GitHub Environments

GitHub Actions har en kraftfull funktion som kallas Environments. Med den kan ni definiera logiska miljöer, till exempel staging eller production, i ert repository.

Environments hjälper er att:

  • Tillämpa skyddsregler (manuella godkännanden och väntetider).
  • Hantera miljöspecifika secrets.
  • Spåra driftsättningar till specifika miljöer.

Deklarera en stagingmiljö

För att använda en miljö i ert arbetsflöde definierar ni den först i inställningarna för ert repository:

  • Gå till ert GitHub-repository.
  • Klicka på Settings > Environments.
  • Klicka på New environment och ge miljön ett namn, till exempel staging.

Här kan ni lägga till skyddsregler, till exempel krav på att en granskare måste godkänna driftsättningar.

Grundläggande struktur för ett driftsättningsarbetsflöde

Nu ska vi titta på hur ni instruerar GitHub Actions att driftsätta till vår staging-miljö. Ni anger miljön i ett jobb:

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!"

Konfigurera miljöskydd

Raden environment: staging i arbetsflödet gör mer än att bara märka driftsättningen. Om ni har konfigurerat skyddsregler för miljön staging i repositoryinställningarna tillämpas de automatiskt.

Om ni till exempel kräver ett manuellt godkännande pausas jobbet tills en behörig person har granskat och godkänt driftsättningen.

Bygga applikationen

Innan ni driftsätter behöver ni vanligtvis bygga applikationen. Det kan innebära att kompilera kod, köra tester eller paketera resurser. Vi lägger till dessa steg i jobbet:

    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

Driftsätta de byggda artefakterna

Efter bygget är nästa steg att överföra applikationsfilerna till staging-servern. Det innebär ofta SSH, FTP eller ett molnspecifikt driftsättningsverktyg.

Här är ett konceptuellt steg. I ett verkligt scenario skulle ni ersätta echo med ert faktiska driftsättningskommando:

      - 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.

Sätta ihop allt: stagingarbetsflöde

Det här kompletta arbetsflödet utlöses när ni pushar till grenen develop. Det checkar ut koden, bygger appen och driftsätter den sedan konceptuellt till miljön staging, samtidigt som eventuella skyddsregler ni har konfigurerat följs.

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!"

Kontroll av stagingdriftsättning

Ni har lärt er att konfigurera ett GitHub Actions-arbetsflöde för driftsättning till en stagingmiljö. Nu testar vi era kunskaper!

Repetition: stagingdriftsättning

Bra jobbat! Ni har lärt er att konfigurera GitHub Actions för driftsättning till en stagingmiljö.

  • Staging är en produktionslik miljö för testning före produktion.
  • GitHub Environments hjälper till att hantera driftsättningssäkerhet och secrets.
  • Arbetsflöden använder nyckeln environment för att rikta sig mot specifika miljöer.
  • Den här processen minimerar riskerna och säkerställer en smidigare övergång till produktion.

I nästa avsnitt utforskar vi hur ni hanterar känslig information med miljövariabler och secrets!

Gratis att börja

Lär dig DevOps-bootcamp med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
142
Lektioner
568

Vanliga frågor

Är lektionen ”Distribuera till en stagingmiljö” gratis?

Ja – du kan läsa vilka 3 lektioner som helst i lärvägen DevOps-bootcamp, inklusive ”Distribuera till en stagingmiljö”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i DevOps-bootcamp innehåller totalt 4 lektioner.

Vad lär jag mig i ”Distribuera till en stagingmiljö”?

Konfigurera ett arbetsflöde som automatiskt distribuerar er applikation till en stagingmiljö för tester före produktion. Ni övar på DevOps-bootcamp med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig DevOps-bootcamp?

Du behöver inga förkunskaper. Utbildningen i DevOps-bootcamp på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 2 av 4.

Hur lång tid tar lektionen ”Distribuera till en stagingmiljö”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här DevOps-bootcamp-lektionen?

Ja. Varje DevOps-bootcamp-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Introduktion till Continuous Deployment
  2. Distribuera till en stagingmiljö
  3. Miljövariabler och hemligheter
  4. Driftsätt i produktion med godkännandegrindar
← Tillbaka till DevOps-bootcamp