DevOps-bootcamp · leksjon

Utrulling til produksjon med godkjenningsporter

Lær hvordan De trygt kan promotere bygg fra staging til produksjon ved hjelp av beskyttelsesregler for GitHub Actions-miljøer, manuelle godkjenninger og utrullingsporter.

Leksjon 4 av 413 trinn

Utrulling til produksjon med godkjenningsporter er en gratis leksjon i DevOps-bootcamp på CoddyKit. Dette er leksjon 4 av 4. Du kan lese valgfritt 3 leksjoner fra denne læringsstien gratis i sin helhet – deretter låser CoddyKit PRO opp alle leksjoner, samt praktisk øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i DevOps-bootcamp, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i DevOps-bootcamp inneholder totalt 4 leksjoner.

Hvorfor produksjon trenger kontrollpunkter

Kontinuerlig utrulling leverer kode automatisk, men det er risikabelt å sende den rett til produksjon uten et kontrollpunkt. En dårlig versjon kan påvirke alle brukere umiddelbart.

Et godkjenningspunkt er en bevisst pause der et menneske eller en automatisert kontroll bekrefter at en utrulling skal fortsette.

  • Reduserer konsekvensomfanget ved feil
  • Oppretter et revisjonsspor som viser hvem som godkjente hva
  • Lar deg skille mellom tillitsnivåene for staging og production

GitHub-miljøer

GitHub Actions har en funksjon som heter miljøer. Et miljø, som production, kan ha egne hemmeligheter, variabler og beskyttelsesregler.

Du angir et miljø fra en jobb ved hjelp av nøkkelen environment. Dette er grunnlaget for å legge til godkjenningspunkter.

jobs:
  deploy:
    runs-on: ubuntu-latest
    environment: production
    steps:
      - run: echo 'Deploying to production'

Påkrevde godkjennere

I repoets innstillinger, under Innstillinger > Miljøer > production, kan du aktivere Påkrevde godkjennere.

Når en jobb retter seg mot dette miljøet, settes arbeidsflytkjøringen på pause og venter til en av de oppførte godkjennerne klikker på Approve.

  • Du kan konfigurere opptil 6 godkjennere
  • Én godkjenning er som standard nok til å frigi jobben
  • Godkjenneren kan ikke være personen som utløste kjøringen, avhengig av innstillingene

En fullstendig arbeidsflyt med kontrollpunkt

Her kjører en build-jobb først. Deretter avhenger en deploy-jobb av den via needs og retter seg mot det beskyttede production-miljøet.

Utrullingen starter ikke før den påkrevde godkjenneren har godkjent den i Actions-brukergrensesnittet.

name: Deploy
on:
  push:
    branches: [main]
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - run: echo 'build artifact'
  deploy:
    needs: build
    runs-on: ubuntu-latest
    environment:
      name: production
      url: https://myapp.example.com
    steps:
      - run: echo 'deploy to prod'

Ventetidsur

I tillegg til godkjennere støtter miljøer et ventetidsur. Dette tvinger frem en forsinkelse på opptil 30 dager før en utrulling kan fortsette.

Et kort ventetidsur fungerer som en nyttig sikkerhetspause: Det gir teamet et tidsvindu til å avbryte en kjøring før den når produksjon.

Begrensninger for utrullingsgrener

Miljøer kan begrense hvilke grener som får rulle ut. For production tillater du vanligvis bare main eller versjonstagger.

Dette hindrer en utilsiktet utrulling til produksjon fra en feature-gren.

  • Beskyttede grener – bare grener med beskyttelsesregler
  • Valgte grener – en uttrykkelig tillatelsesliste eller et tag-mønster

Miljøavgrensede hemmeligheter

Hvert miljø har sine egne hemmeligheter. Et production-miljø kan inneholde PROD_DB_URL, mens staging inneholder STAGING_DB_URL.

Hemmeligheter som er definert på miljøet, er bare tilgjengelige for jobber som retter seg mot dette miljøet. Det gir et ekstra lag med isolasjon.

    steps:
      - name: Deploy
        env:
          DB_URL: ${{ secrets.PROD_DB_URL }}
        run: ./deploy.sh

Spore utrullingsstatus

Hvis du angir en url for miljøet, legges det til en klikkbar lenke til utrullingen i GitHub-brukergrensesnittet, og det registreres et utrullingsobjekt via Deployments API.

Dette gir deg en synlig historikk over hvilken commit som ble sendt til produksjon, når det skjedde, og av hvem.

    environment:
      name: production
      url: https://myapp.example.com

Godkjenne en ventende kjøring

Når en jobb med kontrollpunkt venter, ser du et gult Review deployments-banner på siden for arbeidsflytkjøringen.

  • Åpne kjøringen i fanen Actions
  • Klikk på Review deployments
  • Velg miljøet og klikk på Approve and deploy eller Reject

Du kan også legge igjen en kommentar som forklarer avgjørelsen.

Kombinere flere kontrollpunkter

Det sikreste kontrollpunktet for produksjon kombinerer flere regler:

  • Påkrevde godkjennere (menneskelig godkjenning)
  • Et ventetidsur (sikkerhetspause)
  • Begrensninger for grener (bare main)
  • Miljøhemmeligheter (isolasjon)

Ved å legge disse lagvis får du en robust prosess for å fremme endringer fra staging til produksjon.

Omgå kontrollpunkter på en trygg måte

Noen ganger trenger du en nød-hotfix. I stedet for å fjerne beskyttelsesreglene kan du vurdere en separat, snevert avgrenset hotfix-arbeidsflyt med egen logging og strengere godkjennere.

Deaktiver aldri kontrollpunkter permanent av hensyn til bekvemmelighet – da undergraver du hensikten med sikkerhetsmekanismen.

Hurtigsjekk

Test forståelsen din av godkjenningspunkter for produksjon.

Oppsummering

Du har lært å legge til godkjenningspunkter for utrullinger til produksjon ved hjelp av GitHub-miljøer.

  • Bruk nøkkelen environment for å rette en jobb mot et beskyttet miljø
  • Påkrevde godkjennere legger til menneskelig godkjenning
  • Ventetidsur legger til et tidsvindu for sikkerhetspause
  • Begrensninger for grener og miljøhemmeligheter gir isolasjon

Tilsammen gjør disse kontrollpunktene det trygt og etterprøvbart å fremme endringer fra staging til produksjon.

Gratis å komme i gang

Lær deg DevOps-bootcamp med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
142
Leksjoner
568

Ofte stilte spørsmål

Er leksjonen «Utrulling til produksjon med godkjenningsporter» gratis?

Ja – du kan lese valgfritt 3 av leksjonene i læringsstien DevOps-bootcamp, inkludert «Utrulling til produksjon med godkjenningsporter», gratis i sin helhet her på nettet. Deretter låser CoddyKit PRO opp alle leksjoner, samt interaktiv øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Kurset i DevOps-bootcamp inneholder totalt 4 leksjoner.

Hva lærer jeg i «Utrulling til produksjon med godkjenningsporter»?

Lær hvordan De trygt kan promotere bygg fra staging til produksjon ved hjelp av beskyttelsesregler for GitHub Actions-miljøer, manuelle godkjenninger og utrullingsporter. Du øver på DevOps-bootcamp med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med DevOps-bootcamp?

Ingen tidligere erfaring er nødvendig. DevOps-bootcamp på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 4 av 4.

Hvor lang tid tar leksjonen «Utrulling til produksjon med godkjenningsporter»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne DevOps-bootcamp-leksjonen?

Ja. Alle DevOps-bootcamp-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Introduksjon til Continuous Deployment
  2. Distribuere til et stagingmiljø
  3. Miljøvariabler og hemmeligheter
  4. Utrulling til produksjon med godkjenningsporter
← Tilbake til DevOps-bootcamp