Blue/Green-distribusjoner
Sett opp Blue/Green-distribusjonsstrategier med GitHub Actions for å minimere nedetid og legge til rette for raske tilbakerullinger.
Blue/Green-distribusjoner er en gratis leksjon i CI/CD med GitHub Actions og DevOps-pipelines på CoddyKit. Dette er leksjon 1 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i CI/CD med GitHub Actions og DevOps-pipelines, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i CI/CD med GitHub Actions og DevOps-pipelines inneholder totalt 4 leksjoner.
Hva er blå/grønn-distribusjon?
Velkommen! I denne leksjonen skal vi se nærmere på blå/grønn-distribusjoner, en kraftig strategi for lansering av ny programvare.
Strategien er utviklet for å minimere nedetid og risiko under distribusjoner, slik at brukerne alltid får en god opplevelse.
Forstå blå og grønn
Se for Dem at De har to identiske produksjonsmiljøer: ett som kalles «blått», og et annet som kalles «grønt».
- Blått: Dette er det aktive produksjonsmiljøet som betjener all brukertrafikk.
- Grønt: Dette er et inaktivt, identisk miljø som brukes til å distribuere og teste nye versjoner.
Slik fungerer blå/grønn
Prosessen er enkel, men effektiv:
- Distribuer den nye applikasjonsversjonen til det grønne (inaktive) miljøet.
- Test den nye versjonen grundig i det grønne miljøet.
- Når De er trygg på resultatet, flytter De all brukertrafikk fra blått til grønt.
- Det gamle blå miljøet er nå inaktivt og kan beholdes for raske tilbakeføringer eller oppdateringer.
Hvorfor bruke blå/grønn?
Denne strategien gir betydelige fordeler:
- Ingen nedetid: Brukerne bytter sømløst til den nye versjonen uten avbrudd.
- Umiddelbar tilbakeføring: Hvis det oppstår problemer, kan De ganske enkelt flytte trafikken tilbake til det stabile blå miljøet.
- Redusert risiko: Test nye versjoner i et produksjonslignende miljø før de gjøres tilgjengelige.
Dette trenger De
For å implementere blå/grønn trenger De vanligvis:
- Lastbalanserer: For å dirigere trafikken til enten det blå eller det grønne miljøet.
- To identiske miljøer: Ofte skybaserte, slik at konsistens sikres.
- Automatiseringsverktøy: For eksempel GitHub Actions, til å administrere distribusjoner og bytte av trafikk.
Orkestrering med GitHub Actions
GitHub Actions kan automatisere hvert trinn i blå/grønn-distribusjonen.
De kan definere arbeidsflyter for å:
- Bygge og distribuere til det inaktive miljøet.
- Kjøre automatiserte tester mot den nye distribusjonen.
- Utløse bytte av trafikk via API-et til lastbalansereren eller et skript.
Distribuere den nye versjonen
Her er et forenklet GitHub Actions-utdrag for distribusjon av den nye appversjonen til det «grønne» miljøet. Legg merke til bruken av et environment-navn.
name: Deploy to Green
on:
push:
branches:
- main
jobs:
deploy-green:
runs-on: ubuntu-latest
environment: Green # Target the Green environment
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Deploy app to Green
run: |
echo "Deploying application version ${{ github.sha }} to Green environment..."
# Your actual deployment commands go here
# e.g., deploy to a specific AWS EC2 instance or Kubernetes namespaceBytte trafikken
Etter vellykket distribusjon og testing er det siste trinnet å bytte trafikken. Dette innebærer ofte å oppdatere en lastbalanserer eller en DNS-post.
Her er et konseptuelt GitHub Actions-trinn som kan utløse dette byttet:
name: Switch Traffic to Green
on:
workflow_dispatch: # Manual trigger for traffic switch
jobs:
switch-traffic:
runs-on: ubuntu-latest
steps:
- name: Update Load Balancer to Green
run: |
echo "Switching load balancer traffic to Green environment..."
# Call your load balancer's API or a script here
# e.g., aws elbv2 modify-target-group-attributes ...
# or kubectl apply -f green-ingress.yamlUmiddelbare tilbakeføringer
Hva om De bytter trafikken til grønt, og det oppstår en kritisk feil?
Med blå/grønn er tilbakeføringen umiddelbar! De bytter ganske enkelt lastbalansererens trafikk tilbake til det opprinnelige, stabile blå miljøet.
Dette reduserer konsekvensene av hendelser og gjenopprettingstiden betydelig.
Viktige hensyn
Selv om blå/grønn er kraftig, finnes det noen hensyn å ta:
- Duplisering av ressurser: De kjører to komplette miljøer, noe som kan doble infrastrukturkostnadene.
- Databasemigreringer: Håndtering av databaseendringer kan være komplekst, siden både blått og grønt kan trenge tilgang til samme datalager.
- Tilstandsfulle apper: Applikasjoner med vedvarende tilstand krever nøye planlegging.
Quiz om blå/grønn-distribusjon
La oss kontrollere forståelsen Deres av blå/grønn-distribusjoner.
Oppsummering av leksjonen
Godt jobbet! De har lært om blå/grønn-distribusjoner.
- Det brukes to identiske miljøer (blått og grønt) til å distribuere nye versjoner.
- Det gir ingen nedetid og umiddelbare tilbakeføringer.
- GitHub Actions kan automatisere distribusjonen og byttet av trafikk.
- Husk å planlegge for ressurskostnader og databaseendringer!
Lær deg CI/CD med GitHub Actions og DevOps-pipelines 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
- 12
- Leksjoner
- 48
Ofte stilte spørsmål
Er leksjonen «Blue/Green-distribusjoner» gratis?
Ja – hele teksten i «Blue/Green-distribusjoner» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av CI/CD med GitHub Actions og DevOps-pipelines-kurset, kan du oppgradere til CoddyKit PRO. Kurset i CI/CD med GitHub Actions og DevOps-pipelines inneholder totalt 4 leksjoner.
Hva lærer jeg i «Blue/Green-distribusjoner»?
Sett opp Blue/Green-distribusjonsstrategier med GitHub Actions for å minimere nedetid og legge til rette for raske tilbakerullinger. Du øver på CI/CD med GitHub Actions og DevOps-pipelines 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 CI/CD med GitHub Actions og DevOps-pipelines?
Ingen tidligere erfaring er nødvendig. CI/CD med GitHub Actions og DevOps-pipelines 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 1 av 4.
Hvor lang tid tar leksjonen «Blue/Green-distribusjoner»?
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 CI/CD med GitHub Actions og DevOps-pipelines-leksjonen?
Ja. Alle CI/CD med GitHub Actions og DevOps-pipelines-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
- Blue/Green-distribusjoner
- Canary-utgivelser med Actions
- Tilbakerullinger og katastrofegjenoppretting
- Feature flags og progressive utrullinger