Introducció a AWS CodeBuild
AWS CodeBuild és un servei de compilació completament gestionat que compila el codi font, executa proves i produeix paquets de programari llestos per a la distribució. Amb CodeBuild, no cal provisionar, gestionar ni escalar els teus propis servidors de compilació. CodeBuild escala automàticament i processa diverses compilacions simultàniament, de manera que les compilacions no queden en cua.
Característiques clau d'AWS CodeBuild
- Completament gestionat: No cal gestionar la infraestructura de compilació.
- Escalabilitat automàtica: Pot gestionar múltiples compilacions simultàniament.
- Integració amb altres serveis AWS: Funciona bé amb altres serveis com AWS CodePipeline, AWS CodeCommit, etc.
- Suport per a diversos llenguatges de programació: Admet diversos entorns de compilació com Java, Python, Node.js, etc.
Configuració d'AWS CodeBuild
Pas 1: Crear un projecte de CodeBuild
- Accedeix a la consola de gestió d'AWS.
- Navega a CodeBuild: A la barra de cerca, escriu "CodeBuild" i selecciona el servei.
- Crea un projecte de compilació:
- Fes clic a "Create build project".
- Omple els detalls del projecte:
- Project name: Dona un nom al teu projecte.
- Description: (Opcional) Proporciona una descripció del projecte.
- Source provider: Selecciona el proveïdor de codi font (p. ex., AWS CodeCommit, GitHub, Bitbucket, etc.).
- Source location: Proporciona l'URL del repositori de codi.
Pas 2: Configurar l'entorn de compilació
- Entorn de compilació:
- Environment image: Selecciona una imatge d'entorn gestionada per AWS o proporciona una imatge personalitzada.
- Operating system: Selecciona el sistema operatiu (p. ex., Ubuntu).
- Runtime: Selecciona el runtime (p. ex., Standard).
- Image: Selecciona la imatge d'entorn (p. ex., aws/codebuild/standard:4.0).
- Service role: Selecciona o crea un rol de servei que permeti a CodeBuild accedir als recursos necessaris.
Pas 3: Definir les especificacions de compilació
- Buildspec file:
- El fitxer
buildspec.yml
defineix les instruccions de compilació. - Exemple de
buildspec.yml
:
- El fitxer
version: 0.2 phases: install: runtime-versions: nodejs: 12 commands: - echo Installing dependencies... - npm install build: commands: - echo Building the project... - npm run build post_build: commands: - echo Build completed on `date` artifacts: files: - '**/*' discard-paths: yes
Pas 4: Configurar els artefactes de compilació
- Artifacts:
- Type: Selecciona el tipus d'artefacte (p. ex., S3).
- Location: Proporciona la ubicació del bucket S3 on es desaran els artefactes.
Pas 5: Configurar els paràmetres avançats (Opcional)
-
Logs:
- CloudWatch Logs: Habilita els logs de CloudWatch per monitoritzar les compilacions.
- S3 Logs: Desa els logs en un bucket S3.
-
Build timeout: Defineix el temps màxim de compilació.
-
Queued timeout: Defineix el temps màxim que una compilació pot estar en cua.
Pas 6: Iniciar la compilació
- Start build:
- Un cop configurat el projecte, fes clic a "Start build" per iniciar la compilació.
- Monitoritza l'estat de la compilació a la consola de CodeBuild.
Exercici pràctic
Objectiu
Crear un projecte de CodeBuild que compili un projecte Node.js i desi els artefactes en un bucket S3.
Passos
-
Crear un repositori de codi:
- Utilitza AWS CodeCommit, GitHub o un altre servei per crear un repositori amb un projecte Node.js senzill.
-
Crear un bucket S3:
- Crea un bucket S3 per desar els artefactes de compilació.
-
Configurar el projecte de CodeBuild:
- Segueix els passos descrits anteriorment per crear i configurar el projecte de CodeBuild.
-
Definir el fitxer
buildspec.yml
:- Afegeix un fitxer
buildspec.yml
al teu repositori amb el contingut següent:
- Afegeix un fitxer
version: 0.2 phases: install: runtime-versions: nodejs: 12 commands: - echo Installing dependencies... - npm install build: commands: - echo Building the project... - npm run build post_build: commands: - echo Build completed on `date` artifacts: files: - '**/*' discard-paths: yes
- Iniciar la compilació:
- Inicia la compilació des de la consola de CodeBuild i verifica que els artefactes es desin correctament al bucket S3.
Solució
- Repositori de codi: Crea un repositori amb un projecte Node.js senzill.
- Bucket S3: Crea un bucket S3 anomenat
my-codebuild-artifacts
. - Projecte de CodeBuild: Configura el projecte de CodeBuild seguint els passos descrits.
- Fitxer
buildspec.yml
: Afegeix el fitxerbuildspec.yml
al repositori. - Iniciar la compilació: Inicia la compilació i verifica els artefactes al bucket S3.
Resum
En aquesta secció, hem après què és AWS CodeBuild i com configurar un projecte de compilació. Hem vist com definir les especificacions de compilació utilitzant un fitxer buildspec.yml
i com desar els artefactes de compilació en un bucket S3. També hem realitzat un exercici pràctic per reforçar els conceptes apresos. En el següent tema, explorarem AWS CodeDeploy per automatitzar el desplegament d'aplicacions.