Serverloze backend met AWS Lambda en API Gateway · Les

CodeCommit en CodeBuild

Integreer AWS CodeCommit voor versiebeheer en AWS CodeBuild voor het compileren en verpakken van uw serverless code.

Les 1 van 411 stappen

CodeCommit en CodeBuild is een gratis Serverloze backend met AWS Lambda en API Gateway-les op CoddyKit. Dit is les 1 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Serverloze backend met AWS Lambda en API Gateway. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Serverloze backend met AWS Lambda en API Gateway bevat in totaal 4 lessen.

Introductie tot CI/CD voor serverloze toepassingen

Welkom bij de eerste les van onze cursus CI/CD voor serverloze toepassingen! Continue integratie en continue levering (CI/CD) zijn cruciaal voor moderne softwareontwikkeling.

In deze les behandelen we twee fundamentele AWS-diensten: AWS CodeCommit voor broncodebeheer en AWS CodeBuild voor het compileren en verpakken van je serverloze code.

Wat is AWS CodeCommit?

AWS CodeCommit is een volledig beheerde dienst voor broncodebeheer die beveiligde Git-gebaseerde opslagplaatsen host. Je kunt het zien als de AWS-versie van GitHub of GitLab, maar dan nauw geïntegreerd met andere AWS-diensten.

  • Het is privé: je code blijft binnen AWS.
  • Het is schaalbaar: het ondersteunt projecten van elke omvang.
  • Het is compatibel met Git: gebruik je bestaande Git-hulpmiddelen en werkstromen.

Het fungeert als centrale hub voor de broncode van je toepassing.

Een CodeCommit-opslagplaats instellen

Als je CodeCommit wilt gaan gebruiken, moet je eerst een opslagplaats maken. Dat kun je doen via de AWS Management Console, AWS CLI of SDK's.

Daarna configureer je je lokale Git-client om verbinding te maken met de opslagplaats. Hiervoor moet je vaak IAM-aanmeldgegevens (HTTPS Git-aanmeldgegevens) of SSH-sleutels instellen voor verificatie.

Code klonen en pushen

Nadat je je aanmeldgegevens hebt ingesteld, kun je je CodeCommit-opslagplaats naar je lokale machine klonen en wijzigingen pushen, net als bij elke andere Git-opslagplaats.

Dit is een eenvoudige reeks opdrachten die je zou gebruiken:

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 main

Wat is AWS CodeBuild?

AWS CodeBuild is een volledig beheerde dienst voor continue integratie die je broncode compileert, tests uitvoert en implementeerbare softwarepakketten maakt. Hierdoor hoef je je eigen buildservers niet in te richten, te beheren of te schalen.

  • Geen servers om te beheren: AWS beheert de infrastructuur.
  • Schaalt automatisch: Builds worden parallel uitgevoerd en schalen naar behoefte.
  • Betalen naar gebruik: Je betaalt alleen voor de gebruikte rekentijd.

Het buildspec-bestand

De kern van een CodeBuild-project is het bestand buildspec.yml. Dit YAML-bestand definieert de opdrachten en acties die CodeBuild tijdens een build uitvoert.

Het specificeert buildopdrachten, definities van artefacten (uitvoer) en instructies voor caching. Het staat in de hoofdmap van je broncodeopslagplaats.

Opbouw van een buildspec

Een buildspec.yml is ingedeeld in fasen:

  • install: Afhankelijkheden installeren.
  • pre_build: Opdrachten vóór de build (bijvoorbeeld inloggen bij Docker).
  • build: De daadwerkelijke buildopdrachten (bijvoorbeeld code compileren en tests uitvoeren).
  • post_build: Opdrachten na de build (bijvoorbeeld artefacten verpakken).

Dit is een eenvoudig voorbeeld voor een Python-Lambda-functie:

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: yes

Een CodeBuild-project maken

Als je CodeBuild wilt gebruiken, maak je een buildproject. Dit houdt het volgende in:

  • Bron: Verwijzen naar je broncodeopslagplaats (bijvoorbeeld CodeCommit).
  • Omgeving: Een besturingssysteem, runtime en rekentype selecteren.
  • Buildspec: Het bestand buildspec.yml opgeven.
  • Artefacten: Bepalen waar builduitvoer wordt opgeslagen (bijvoorbeeld een S3-bucket).

Je wijst ook een IAM-rol toe aan CodeBuild, zodat deze machtigingen krijgt voor toegang tot je broncode, S3 en andere benodigde AWS-diensten.

CodeCommit- en CodeBuild-stroom

De gebruikelijke werkstroom voor continue integratie met deze diensten is:

  1. Een ontwikkelaar pusht codewijzigingen naar een AWS CodeCommit-opslagplaats.
  2. CodeCommit kan automatisch een AWS CodeBuild-project starten (vaak via CodePipeline, dat we hierna behandelen).
  3. CodeBuild haalt de meest recente code op en voert de opdrachten in buildspec.yml uit.
  4. CodeBuild maakt artefacten (zoals een gecomprimeerde Lambda-functie) en slaat deze op in een S3-bucket, klaar voor implementatie.

Korte controle

Je hebt zojuist geleerd over CodeCommit en CodeBuild. Laten we controleren of je de stof begrijpt!

Samenvatting en volgende stappen

Goed gedaan! In deze les heb je het volgende geleerd:

  • AWS CodeCommit: Een beheerde Git-opslagplaatsdienst voor veilig broncodebeheer.
  • AWS CodeBuild: Een volledig beheerde dienst voor continue integratie die je code compileert en verpakt.
  • Het belang van het bestand buildspec.yml voor het definiëren van buildstappen.

Deze twee diensten vormen de basis van je serverloze CI/CD-pijplijn. Hierna bekijken we hoe AWS CodePipeline deze diensten coördineert voor geautomatiseerde implementaties!

Gratis beginnen

Leer Serverloze backend met AWS Lambda en API Gateway met een AI-tutor — gratis

Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.

Cursussen
12
Lessen
48

Veelgestelde vragen

Is de les “CodeCommit en CodeBuild” gratis?

Ja — de volledige tekst van “CodeCommit en CodeBuild” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus Serverloze backend met AWS Lambda en API Gateway wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus Serverloze backend met AWS Lambda en API Gateway bevat in totaal 4 lessen.

Wat leer ik in “CodeCommit en CodeBuild”?

Integreer AWS CodeCommit voor versiebeheer en AWS CodeBuild voor het compileren en verpakken van uw serverless code. Je oefent met Serverloze backend met AWS Lambda en API Gateway door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.

Heb ik ervaring nodig om met Serverloze backend met AWS Lambda en API Gateway te beginnen?

Ervaring vooraf is niet nodig. Serverloze backend met AWS Lambda en API Gateway op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 1 van 4.

Hoe lang duurt de les “CodeCommit en CodeBuild”?

De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.

Kan ik code schrijven en uitvoeren in deze les over Serverloze backend met AWS Lambda en API Gateway?

Ja. Elke les over Serverloze backend met AWS Lambda en API Gateway bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.

Alle lessen in deze cursus

  1. CodeCommit en CodeBuild
  2. CodePipeline voor implementaties
  3. Serverless implementaties automatiseren
  4. Veilig deployen met canary en rollback
← Terug naar Serverloze backend met AWS Lambda en API Gateway