Serverløs backend med AWS Lambda & API Gateway · leksjon

CodePipeline for distribusjoner

Bygg automatiserte leveringspipelines med AWS CodePipeline for å orkestrere bygg, tester og distribusjoner.

Leksjon 2 av 411 trinn

CodePipeline for distribusjoner er en gratis leksjon i Serverløs backend med AWS Lambda & API Gateway på CoddyKit. Dette er leksjon 2 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 Serverløs backend med AWS Lambda & API Gateway, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Serverløs backend med AWS Lambda & API Gateway inneholder totalt 4 leksjoner.

Møt AWS CodePipeline

Velkommen! I moderne programvareutvikling er automatisering av utrullinger avgjørende. AWS CodePipeline hjelper Dem med å oppnå kontinuerlig integrasjon og kontinuerlig levering (CI/CD) for applikasjonene Deres, inkludert serverløse applikasjoner.

CodePipeline er en fullstendig administrert tjeneste som automatiserer utrullingsprosessen. Den orkestrerer trinnene som kreves for å føre kodeendringer fra et kildekodelager gjennom ulike stadier og ut i produksjon.

Hvorfor bruke CodePipeline?

Automatisering av utrullingene Deres med CodePipeline gir flere fordeler:

  • Raskere utrullinger: Lever nye funksjoner og feilrettinger til brukerne raskere.
  • Bedre pålitelighet: Standardiserte, automatiserte prosesser reduserer menneskelige feil.
  • Ensartede utrullinger: Sørger for at hver endring følger samme bane og gjennomgår de samme kontrollene.
  • Synlighet: Følg statusen for utrullingene Deres i sanntid.

Den fungerer som den sentrale orkestratoren for Deres serverløse CI/CD.

Kjernefaser i pipelinen

En CodePipeline består vanligvis av flere faser, og hver fase har én eller flere handlinger. De vanligste fasene er:

  • Kilde: Der koden kommer fra (for eksempel CodeCommit eller GitHub).
  • Bygg: Der koden kompileres, testes og pakkes (for eksempel CodeBuild).
  • Utrulling: Der applikasjonen rulles ut til AWS-ressurser (for eksempel CloudFormation eller SAM).
  • Testing: Der automatiserte tester kjøres for å validere den utrullede applikasjonen.

Disse fasene kjøres i en definert rekkefølge og danner en arbeidsflyt.

Kildefasen

Kildefasen er startpunktet for pipelinen. Når De sender ny kode til kildekodelageret, oppdager CodePipeline endringen og starter pipelinen automatisk.

Vanlige kildeleverandører omfatter AWS CodeCommit, GitHub, GitLab og Amazon S3. For serverløse applikasjoner inneholder kilden vanligvis Lambda-koden og den serverløse malen Deres (for eksempel en SAM-mal).

Byggfasen med CodeBuild

Etter at kildekoden er hentet, går den videre til byggfasen. Her overtar AWS CodeBuild. CodeBuild kompilerer koden, kjører enhetstester og pakker artefaktene til den serverløse applikasjonen Deres.

For en serverløs applikasjon innebærer dette ofte å opprette en utrullingspakke (en .zip-fil for Lambda) og klargjøre AWS Serverless Application Model-malen (SAM) for utrulling.

Buildspec for serverløse apper

CodeBuild bruker filen buildspec.yml i kildekodelageret Deres til å definere byggekommandoene. Her er en vanlig struktur for en Python-Lambda med SAM:

version: 0.2
phases:
  install:
    runtime-versions:
      python: 3.9
  build:
    commands:
      - echo "Building SAM application..."
      - sam build --template template.yaml --debug
artifacts:
  files:
    - '**/*'
  base-directory: .aws-sam/build

Utrullingsfasen med SAM

Utrullingsfasen tar artefaktene som byggfasen produserte, og ruller dem ut til AWS-kontoen Deres. For serverløse applikasjoner innebærer dette vanligvis AWS CloudFormation, ofte orkestrert av AWS SAM.

CodePipeline kan integreres direkte med CloudFormation for å kjøre en SAM-mal. Den bruker Change Sets til å forhåndsvise og trygt ta i bruk infrastrukturendringer, slik at risikoen reduseres.

Eksempel på utrullingshandling

I CodePipeline kan en utrullingshandling for en SAM-applikasjon se slik ut (konseptuelt, konfigurert i pipelinedefinisjonen):

  • Handlingsleverandør: CloudFormation
  • Handlingsmodus: REPLACE_ON_FAILURE eller CREATE_UPDATE
  • Stack-navn: YourServerlessAppStack
  • Malbane: Banen til SAM-malen Deres (for eksempel build-artifact::template.yaml)
  • Funksjoner: CAPABILITY_IAM (kreves for mange serverløse utrullinger)

Dette forteller CodePipeline at CloudFormation-stacken skal oppdateres basert på malen som er oppgitt.

Legge til en testfase

Selv om enhetstester kjøres i byggfasen, gir en egen testfase i CodePipeline mulighet for bredere validering etter utrullingen. Dette kan omfatte:

  • Integrasjonstester mot det utrullede API-et.
  • Smoke-tester for å sikre grunnleggende funksjonalitet.
  • Ende-til-ende-tester for kritiske brukerflyter.

De kan bruke et annet CodeBuild-prosjekt eller en Lambda-funksjon til å kjøre disse testene. Hvis testene mislykkes, kan pipelinen stoppe utrullingen.

Pipeline-kontroll

Tenk på en serverløs applikasjon som er utrullet med AWS CodePipeline. Hvilke av følgende AWS-tjenester integreres vanligvis i CodePipeline-fasene i en typisk serverløs CI/CD-arbeidsflyt?

Oppsummering av CodePipeline

De har lært hvordan AWS CodePipeline orkestrerer utrullinger av serverløse applikasjoner. Viktige punkter:

  • CodePipeline automatiserer CI/CD fra kodeinnsjekking til utrulling.
  • Den bruker faser som Kilde, Bygg og Utrulling.
  • CodeCommit leverer kilden, CodeBuild utfører byggingen (ved hjelp av buildspec.yml), og CloudFormation/SAM håndterer utrullingene.
  • Testfaser sikrer kvalitet før produksjon.

Ved å bruke CodePipeline kan De opprette robuste og repeterbare utrullingsprosesser for serverløse applikasjoner!

Gratis å komme i gang

Lær deg Serverløs backend med AWS Lambda & API Gateway 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 «CodePipeline for distribusjoner» gratis?

Ja – hele teksten i «CodePipeline for 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 Serverløs backend med AWS Lambda & API Gateway-kurset, kan du oppgradere til CoddyKit PRO. Kurset i Serverløs backend med AWS Lambda & API Gateway inneholder totalt 4 leksjoner.

Hva lærer jeg i «CodePipeline for distribusjoner»?

Bygg automatiserte leveringspipelines med AWS CodePipeline for å orkestrere bygg, tester og distribusjoner. Du øver på Serverløs backend med AWS Lambda & API Gateway 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 Serverløs backend med AWS Lambda & API Gateway?

Ingen tidligere erfaring er nødvendig. Serverløs backend med AWS Lambda & API Gateway 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 2 av 4.

Hvor lang tid tar leksjonen «CodePipeline for 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 Serverløs backend med AWS Lambda & API Gateway-leksjonen?

Ja. Alle Serverløs backend med AWS Lambda & API Gateway-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. CodeCommit og CodeBuild
  2. CodePipeline for distribusjoner
  3. Automatisering av serverløse distribusjoner
  4. Sikre utrullinger med canary og rollback
← Tilbake til Serverløs backend med AWS Lambda & API Gateway