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 Accountal 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.yamlestà 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
