Automatisera builds med CodeBuild och buildspec.yml

Automatisera driftsättningar på AWS

Dunieski Otano

Amazon Web Services Solutions Architect

Vad CodeBuild gör

  • CodeBuild är en helt hanterad build-tjänst
  • Inga servrar att sätta upp eller hantera
  • Kör din build i en tillfällig container
  • Skalar automatiskt; du betalar bara för build-minuter
  • Integreras med CodePipeline som Build-steget

 

1-codebuild-managed-service-temporary-container-lifecycle.png

Automatisera driftsättningar på AWS

Filen buildspec.yml

  • buildspec.yml: YAML-fil i roten av din källkod
  • Definierar vad CodeBuild gör under bygget
  • Fyra faser körs i ordning:
    • install: Installera beroenden och verktyg
    • pre_build: Kör förberedande uppgifter innan bygget
    • build: Kompilera kod, köra tester
    • post_build: Packa artefakter, städa upp

buildspec

Automatisera driftsättningar på AWS

Ett verkligt exempel på buildspec.yml

  • install: pip install -r requirements.txt
  • pre_build: [ -z "$DB_URL" ] && exit 1
  • build: pytest tests/
  • post_build: zip -r app.zip . sedan echo "Build completed"

Kodredigerare i ljust tema som visar en buildspec.yml med fyra faser, där build kör pytest tests och post_build packar koden i app.zip, som blir pipelinens artefakt

Automatisera driftsättningar på AWS

Konfiguration av build-miljön

 

4-codebuild-environment-config-compute-envvars-caching.png

  • Beräkningstyper: small, medium, large, 2xlarge
    • Välj utifrån byggets komplexitet och hastighetskrav
  • Miljövariabler: Skickar konfiguration till byggen
    • Lagra hemligheter i Parameter Store eller Secrets Manager
  • Cachning av beroenden: Cacha nedladdade paket mellan byggen
    • Minskar byggtiden avsevärt för stora projekt
Automatisera driftsättningar på AWS

Artefakter och pipeline-integration

 

5-codebuild-artifact-output-s3-codepipeline-handoff.png

  • Avsnittet artifacts definierar vad CodeBuild ger som utdata
  • files: Lista med filer eller mönster; base-directory: rotsökväg
  • Artefakten sparas i S3 och skickas automatiskt till nästa steg
  • Fel sökvägar för artefakter ger deploy-fel även om bygget lyckas
Automatisera driftsättningar på AWS

Hela kedjan från build till test till deploy

  • Utvecklaren pushar kod till CodeCommit
  • CodePipeline triggas automatiskt
  • CodeBuild: install -> pre_build -> build -> post_build
  • Build-artefakten flödar vidare till CodeDeploy
  • Applikationen driftsätts i målmiljön

6-full-cicd-chain-codecommit-codebuild-phases-codedeploy.png

Automatisera driftsättningar på AWS

Nu kör vi en övning!

Automatisera driftsättningar på AWS

Preparing Video For Download...