Skip to content

Despliegue

Estado: despliegue MANUAL (Gitea Actions OFF)

CRÍTICO. El workflow .github/workflows/deploy.yml describe un pipeline automático con disparador push a main (.github/workflows/deploy.yml:4-7), pero Gitea Actions está APAGADO en este repo (manifiesto del workspace; memoria del proyecto navarro-bores-migrado a VitePress sin deploy). El repo se aloja en Gitea (localhost:3000/arturo/navarro-bores.com, git remote), no en GitHub, y el workflow está en formato GitHub Actions dentro de .github/workflows/. Consecuencia: tras hacer push NO hay redespliegue automático; publicar es una acción MANUAL. El blog en vivo puede estar desfasado respecto al repo.

El último cambio relevante fue la migración del blog a VitePress (commit 1df1cee, feat: migracion del blog a VitePress), aún no redesplegado de forma automática.

Destino

ParámetroValorEvidencia
PlataformaGoogle Cloud Run (managed).github/workflows/deploy.yml:44
Proyecto GCPhomelab-466309:10
Región (Cloud Run)europe-west1:11
Serviciopersonal-blog:12
Imageneurope-southwest1-docker.pkg.dev/homelab-466309/idcolab/personal-blog:13
Acceso--allow-unauthenticated (público):45
Puerto8080:46, nginx.conf:2, Dockerfile:19
Recursos256Mi memoria, 1 CPU:47-48
Escalamin-instances=0, max-instances=2:49-50
Service Accountblueup-docs-deployer@homelab-466309.iam.gserviceaccount.com:51
Secreto requeridoGCP_SA_KEY:25
DNSGoogle Cloud DNSREADME.md:10

Nota de discrepancia: el registro de imágenes está en europe-southwest1 mientras que el servicio Cloud Run se despliega en europe-west1 (:11 vs :13). El path de la imagen usa el repositorio Artifact Registry idcolab (namespace heredado del proyecto idcolab, hoy archivado en Gitea).

Pasos del pipeline (definido en deploy.yml)

  1. Checkout del repo (:19-20).
  2. Autenticación a GCP con GCP_SA_KEY (:22-25).
  3. setup-gcloud y gcloud auth configure-docker europe-southwest1-docker.pkg.dev (:27-31).
  4. docker build (multistage) con etiquetas :sha y :latest, y push de ambas (:33-37).
  5. gcloud run deploy con los parámetros de la tabla (:39-52).

Para reproducirlo a mano, el operador ejecuta estos mismos pasos localmente (build, push, gcloud run deploy).

Imagen de producción

Build multistage (ver tecnico/02-stack-build.md): node:20-alpine compila VitePress, nginx:alpine sirve .vitepress/dist en el puerto 8080 (Dockerfile:1-20). nginx aplica clean URLs, cabeceras de seguridad, gzip y caché de estáticos a 1 año (nginx.conf).

Rama por defecto

  • main (salida de git branch; disparador del workflow en :6).

Cybersecurity · Technology · Leadership