CodeCommit og CodeBuild
Integrer AWS CodeCommit for kildekontroll og AWS CodeBuild for kompilering og pakking av serverløs kode.
CodeCommit og CodeBuild er en gratis leksjon i Serverløs backend med AWS Lambda & API Gateway 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 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.
Introduksjon til CI/CD for serverløse applikasjoner
Velkommen til den første leksjonen i kurset vårt om CI/CD for serverløse applikasjoner! Kontinuerlig integrasjon og kontinuerlig levering (CI/CD) er avgjørende for moderne programvareutvikling.
I denne leksjonen skal vi se nærmere på to grunnleggende AWS-tjenester: AWS CodeCommit for kildekontroll og AWS CodeBuild for kompilering og pakking av den serverløse koden Deres.
Hva er AWS CodeCommit?
AWS CodeCommit er en fullstendig administrert kildekontrolltjeneste som drifter sikre Git-baserte kodearkiver. Tenk på den som AWS-versjonen av GitHub eller GitLab, men med tett integrasjon med andre AWS-tjenester.
- Den er privat: Koden Deres forblir i AWS.
- Den er skalerbar: Den håndterer prosjekter av alle størrelser.
- Den er Git-kompatibel: Bruk eksisterende Git-verktøy og arbeidsflyter.
Den fungerer som et sentralt knutepunkt for kildekoden til applikasjonen Deres.
Konfigurere et CodeCommit-repositorium
For å begynne å bruke CodeCommit må De først opprette et repositorium. Dette kan De gjøre via AWS Management Console, AWS CLI eller SDK-er.
Når repositoriet er opprettet, konfigurerer De den lokale Git-klienten til å koble seg til det. Dette innebærer ofte å konfigurere IAM-legitimasjon (HTTPS Git-legitimasjon) eller SSH-nøkler for autentisering.
Kloning og pushing av kode
Når legitimasjonen er konfigurert, kan De klone CodeCommit-repositoriet til den lokale maskinen og pushe endringer, akkurat som med alle andre Git-repositorier.
Her er en grunnleggende sekvens med kommandoer De kan bruke:
git clone https://git-codecommit.us-east-1.amazonaws.com/v1/repos/MyServerlessRepo
cd MyServerlessRepo
echo "print('Hello CI/CD!')" > app.py
git add app.py
git commit -m "Initial commit for Lambda function"
git push origin mainHva er AWS CodeBuild?
AWS CodeBuild er en fullstendig administrert tjeneste for kontinuerlig integrasjon som kompilerer kildekoden Deres, kjører tester og produserer programvarepakker som kan distribueres. De trenger ikke lenger å klargjøre, administrere eller skalere egne byggservere.
- Ingen servere å administrere: AWS håndterer infrastrukturen.
- Skaleres automatisk: Bygg kjører parallelt og skaleres etter behov.
- Betal etter bruk: De betaler bare for databehandlingstiden som brukes.
Buildspec-filen
Kjernen i et CodeBuild-prosjekt er filen buildspec.yml. Denne YAML-filen definerer kommandoene og handlingene CodeBuild utfører under et bygg.
Den angir byggkommandoer, definisjoner av artefakter (utdata) og instruksjoner for hurtigbufring. Den plasseres i roten av kildekoderepositoriet.
Anatomien til en Buildspec
En buildspec.yml-fil er organisert i faser:
- install: Installer avhengigheter.
- pre_build: Kommandoer før byggingen (for eksempel pålogging i Docker).
- build: Selve byggkommandoene (for eksempel kompilering av kode og kjøring av tester).
- post_build: Kommandoer etter byggingen (for eksempel pakking av artefakter).
Her er et enkelt eksempel for en Python-Lambda-funksjon:
version: 0.2
phases:
install:
commands:
- echo "Installing dependencies..."
- pip install --upgrade pip
- pip install -r requirements.txt -t package/
build:
commands:
- echo "Zipping deployment package..."
- cd package
- zip -r ../function.zip .
- cd ..
- zip -g function.zip app.py
artifacts:
files:
- function.zip
discard-paths: yesOpprette et CodeBuild-prosjekt
For å bruke CodeBuild oppretter De et byggprosjekt. Dette innebærer:
- Kilde: Angi kildekoderepositoriet (for eksempel CodeCommit).
- Miljø: Velg operativsystem, kjøretid og databehandlingstype.
- Buildspec: Angi filen
buildspec.yml. - Artefakter: Definer hvor byggutdataene skal lagres (for eksempel en S3-bøtte).
De tildeler også en IAM-rolle til CodeBuild, slik at tjenesten får tillatelse til å få tilgang til kilden, S3 og andre nødvendige AWS-tjenester.
Flyten mellom CodeCommit og CodeBuild
Den typiske arbeidsflyten for kontinuerlig integrasjon med disse tjenestene er:
- Utvikleren pusher kodeendringer til et AWS CodeCommit-repositorium.
- CodeCommit kan automatisk utløse et AWS CodeBuild-prosjekt (ofte via CodePipeline, som vi skal se på senere).
- CodeBuild henter den nyeste koden og utfører kommandoene i
buildspec.yml. - CodeBuild produserer artefakter (for eksempel en pakket Lambda-funksjon) og lagrer dem i en S3-bøtte, klare for distribusjon.
Hurtigsjekk
De har nettopp lært om CodeCommit og CodeBuild. La oss teste forståelsen Deres!
Oppsummering og neste steg
Godt jobbet! I denne leksjonen har De lært om:
- AWS CodeCommit: En administrert Git-repositorietjeneste for sikker kildekontroll.
- AWS CodeBuild: En fullstendig administrert tjeneste for kontinuerlig integrasjon som kompilerer og pakker koden Deres.
- Betydningen av filen
buildspec.ymlfor å definere byggtrinnene.
Disse to tjenestene utgjør grunnlaget for den serverløse CI/CD-pipelinen Deres. Deretter skal vi se hvordan AWS CodePipeline orkestrerer disse tjenestene for automatiserte distribusjoner!
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 «CodeCommit og CodeBuild» gratis?
Ja – hele teksten i «CodeCommit og CodeBuild» 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 «CodeCommit og CodeBuild»?
Integrer AWS CodeCommit for kildekontroll og AWS CodeBuild for kompilering og pakking av serverløs kode. 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 1 av 4.
Hvor lang tid tar leksjonen «CodeCommit og CodeBuild»?
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
- CodeCommit og CodeBuild
- CodePipeline for distribusjoner
- Automatisering av serverløse distribusjoner
- Sikre utrullinger med canary og rollback