Introducció a Cloud Build
Cloud Build és un servei de Google Cloud Platform que permet compilar, provar i desplegar aplicacions en una infraestructura escalable. És una eina essencial per a DevOps, ja que facilita la integració contínua (CI) i el desplegament continu (CD).
Conceptes Clau
- Integració Contínua (CI): Procés d'integrar canvis de codi de manera freqüent i automàtica, amb proves automàtiques per detectar errors ràpidament.
- Desplegament Continu (CD): Procés de desplegar automàticament les aplicacions a entorns de producció després de passar les proves.
Configuració de Cloud Build
Pas 1: Crear un Projecte a GCP
- Accedeix a la Consola de Google Cloud.
- Crea un nou projecte o selecciona un projecte existent.
Pas 2: Activar l'API de Cloud Build
- A la consola de GCP, ves a API & Services > Library.
- Cerca "Cloud Build" i fes clic a Enable.
Pas 3: Configurar permisos
- Assegura't que el compte de servei de Cloud Build tingui els permisos necessaris per accedir als recursos del teu projecte.
- Afegeix el rol
Cloud Build Service Account
al compte de servei.
Crear un Fitxer de Configuració de Cloud Build
El fitxer de configuració de Cloud Build (cloudbuild.yaml
o cloudbuild.json
) defineix els passos que Cloud Build ha de seguir per compilar, provar i desplegar la teva aplicació.
Exemple de Fitxer cloudbuild.yaml
steps: - name: 'gcr.io/cloud-builders/docker' args: ['build', '-t', 'gcr.io/$PROJECT_ID/my-app', '.'] - name: 'gcr.io/cloud-builders/docker' args: ['push', 'gcr.io/$PROJECT_ID/my-app'] images: - 'gcr.io/$PROJECT_ID/my-app'
Explicació del Fitxer
- steps: Defineix els passos que Cloud Build ha de seguir.
- name: Imatge Docker que s'utilitzarà per executar el pas.
- args: Arguments que es passaran a l'ordre Docker.
- images: Llista d'imatges Docker que es generaran i es pujaran al registre de contenidors de Google (GCR).
Executar una Compilació
Pas 1: Desar el Fitxer de Configuració
Desa el fitxer cloudbuild.yaml
a l'arrel del teu projecte.
Pas 2: Executar la Compilació
Utilitza l'ordre següent per iniciar una compilació:
Explicació de l'Ordre
- gcloud builds submit: Inicia una compilació amb Cloud Build.
- --config cloudbuild.yaml: Especifica el fitxer de configuració.
- .: Indica que s'ha d'utilitzar el directori actual com a context de compilació.
Exercici Pràctic
Objectiu
Crear una imatge Docker per a una aplicació simple i pujar-la al registre de contenidors de Google.
Passos
- Crear un fitxer
Dockerfile
:
- Crear un fitxer
app.js
:
const express = require('express'); const app = express(); const port = 3000; app.get('/', (req, res) => { res.send('Hello, World!'); }); app.listen(port, () => { console.log(`App listening at http://localhost:${port}`); });
- Crear un fitxer
package.json
:
{ "name": "my-app", "version": "1.0.0", "main": "app.js", "dependencies": { "express": "^4.17.1" } }
- Crear un fitxer
cloudbuild.yaml
:
steps: - name: 'gcr.io/cloud-builders/docker' args: ['build', '-t', 'gcr.io/$PROJECT_ID/my-app', '.'] - name: 'gcr.io/cloud-builders/docker' args: ['push', 'gcr.io/$PROJECT_ID/my-app'] images: - 'gcr.io/$PROJECT_ID/my-app'
- Executar la compilació:
Solució
Després d'executar els passos anteriors, hauràs creat i pujat una imatge Docker de la teva aplicació al registre de contenidors de Google.
Errors Comuns i Consells
- Error: "Permission denied": Assegura't que el compte de servei de Cloud Build té els permisos necessaris.
- Error: "Image not found": Verifica que el nom de la imatge Docker és correcte i que el fitxer
cloudbuild.yaml
està ben configurat.
Resum
En aquesta secció, hem après a configurar i utilitzar Cloud Build per compilar, provar i desplegar aplicacions. Hem creat un fitxer de configuració cloudbuild.yaml
i hem executat una compilació per crear i pujar una imatge Docker. Amb aquests coneixements, estàs preparat per integrar Cloud Build en el teu flux de treball de DevOps.
Curs de Google Cloud Platform (GCP)
Mòdul 1: Introducció a Google Cloud Platform
- Què és Google Cloud Platform?
- Configurar el teu compte de GCP
- Visió general de la consola de GCP
- Comprendre projectes i facturació
Mòdul 2: Serveis bàsics de GCP
Mòdul 3: Xarxes i seguretat
Mòdul 4: Dades i analítica
Mòdul 5: Aprenentatge automàtic i IA
Mòdul 6: DevOps i monitoratge
- Cloud Build
- Repositoris de codi font al núvol
- Funcions al núvol
- Monitoratge de Stackdriver
- Gestor de desplegament al núvol
Mòdul 7: Temes avançats de GCP
- Híbrid i multi-núvol amb Anthos
- Computació sense servidor amb Cloud Run
- Xarxes avançades
- Millors pràctiques de seguretat
- Gestió i optimització de costos