CI/CD med GitHub Actions og DevOps-pipelines · leksjon

Tilbakerullinger og katastrofegjenoppretting

Utform og implementer effektive prosedyrer for tilbakerulling og planer for katastrofegjenoppretting i CI/CD-pipelines.

Leksjon 3 av 410 trinn

Tilbakerullinger og katastrofegjenoppretting er en gratis leksjon i CI/CD med GitHub Actions og DevOps-pipelines på CoddyKit. Dette er leksjon 3 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.

Uventede problemer oppstår!

Programvareutvikling går ikke alltid problemfritt. Noen ganger introduserer nye distribusjoner feil eller ødelegger eksisterende funksjoner. Det er her tilbakerulling og katastrofegjenoppretting kommer inn.

De er avgjørende for å opprettholde systemstabilitet og brukernes tillit.

Forstå tilbakerullinger

En tilbakerulling er prosessen med å gjenopprette et system eller en applikasjon til en tidligere, stabil tilstand etter en problematisk distribusjon. Det er som en «angre»-knapp for de siste endringene dine.

Tilbakerullinger utløses vanligvis raskt for å minimere virkningen av en feilaktig versjon og gjenopprette normal drift.

Vanlige metoder for tilbakerulling

Det finnes flere måter å utføre en tilbakerulling på, avhengig av distribusjonsstrategien din:

  • Tilbakestille kode: Distribuere den forrige, velprøvde versjonen av applikasjonskoden.
  • Skifte trafikk: Omdirigere brukertrafikken bort fra den feilaktige nye versjonen og tilbake til den gamle.
  • Tilbakerulling av databasen: Tilbakestille endringer i databaseskjemaet eller dataene, noe som ofte er den mest komplekse delen.

Automatisere tilbakerullinger med Actions

GitHub Actions kan automatisere prosedyrer for tilbakerulling. Du kan opprette workfl ows som utløses av bestemte hendelser (for eksempel en manuell kjøring) for å distribuere en tidligere, stabil versjon på nytt eller tilbakestille infrastrukturendringer.

Dette sikrer en rask, konsekvent og mindre feilutsatt tilbakerullingsprosess, og reduserer menneskelige feil i stressende situasjoner.

Workflow for en manuell tilbakerulling

Slik kan du sette opp en manuell utløser for å distribuere en bestemt tidligere versjon (for eksempel en tag eller commit-hash). Denne workflowen tar imot en version-inndata fra brukeren.

name: Manual Rollback Deployment

on:
  workflow_dispatch:
    inputs:
      version:
        description: 'Tag or commit hash to deploy'
        required: true
        default: 'main'

jobs:
  rollback:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v4
        with:
          ref: ${{ github.event.inputs.version }}

      - name: Deploy previous version
        run: |
          echo "Deploying version: ${{ github.event.inputs.version }}"
          # Add your specific deployment commands here
          # e.g., helm upgrade, kubectl apply, etc.

Utover tilbakerullinger: katastrofegjenoppretting

Katastrofegjenoppretting (DR) er en bredere strategi for å gjenopprette systemene og dataene dine etter en katastrofal hendelse. Det kan være et utfall i et datasenter, en naturkatastrofe eller et omfattende cyberangrep.

I motsetning til en tilbakerulling, som løser en feilaktig distribusjon, har DR som mål å gjenopprette full drift etter et totalt systemhavari eller tap av et primærmiljø.

DR-planlegging i CI/CD

Når du planlegger DR i CI/CD-pipelines, bør du vurdere:

  • Sikkerhetskopier: Sikkerhetskopiere data, konfigurasjoner og artefakter regelmessig.
  • Redundans: Distribuere på tvers av flere regioner eller tilgjengelighetssoner.
  • Gjenopprettings-workflows: Egne workflows for å gjenopprette tjenester fra sikkerhetskopier eller distribuere til ny infrastruktur.
  • Testing: Teste DR-planen med jevne mellomrom for å sikre at den fungerer når det trengs.

Lagre byggartefakter for gjenoppretting

GitHub Actions kan lagre byggartefakter, som er avgjørende for DR. Dette kan omfatte kompilerte binærfiler, Docker-avbildninger eller distribusjonsmanifester. Du kan laste dem opp under et vellykket bygg.

Artefaktene kan deretter lastes ned og distribueres som en del av en DR-workflow til et nytt miljø.

name: Build and Archive Artifacts

on: [push]

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v4

      - name: Build application
        run: |
          echo "Building app..."
          mkdir -p build_output
          echo "App version 1.0.0" > build_output/app.txt

      - name: Upload build artifact
        uses: actions/upload-artifact@v4
        with:
          name: application-build
          path: build_output/

Kontroll av tilbakerulling kontra DR

En distribusjon av en ny funksjon forårsaket en kritisk feil som gjorde applikasjonen utilgjengelig. Hvilken strategi brukes primært til å løse dette spesifikke problemet raskt og gjenopprette tjenesten?

Tilbakerullinger og DR: Viktige punkter

I denne leksjonen utforsket vi de viktige begrepene tilbakerulling og katastrofegjenoppretting. Vi lærte at tilbakerullinger raskt gjenoppretter tidligere versjoner etter feilaktige distribusjoner, mens katastrofegjenoppretting handler om å gjenopprette systemer etter omfattende feil.

GitHub Actions kan spille en viktig rolle i automatiseringen av begge prosessene, slik at applikasjonene forblir robuste og brukerne opplever minst mulig avbrudd.

Gratis å komme i gang

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 «Tilbakerullinger og katastrofegjenoppretting» gratis?

Ja – hele teksten i «Tilbakerullinger og katastrofegjenoppretting» 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 «Tilbakerullinger og katastrofegjenoppretting»?

Utform og implementer effektive prosedyrer for tilbakerulling og planer for katastrofegjenoppretting i CI/CD-pipelines. 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 3 av 4.

Hvor lang tid tar leksjonen «Tilbakerullinger og katastrofegjenoppretting»?

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

  1. Blue/Green-distribusjoner
  2. Canary-utgivelser med Actions
  3. Tilbakerullinger og katastrofegjenoppretting
  4. Feature flags og progressive utrullinger
← Tilbake til CI/CD med GitHub Actions og DevOps-pipelines