documents/cloudbuild.yaml
Breno Pires 9165f1e9ab feat: microservico documents — catalogo por UF, documentos com versoes, compliance e analise [skip ci]
Espelho do routines: NestJS 10 + Fastify + TypeORM, modulos catalog (override
por UF), document (versoes + storage GCS), compliance (mesmo score do painel),
alerts (regua de vencimento, envio e v1.2) e analise plugavel (KeywordAnalyzer
-> OCR/LLM). 38 testes. Deploy aguarda banco 'documents' e secrets no hml2 —
por isso o [skip ci] no bootstrap.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-07 01:42:24 -03:00

66 lines
1.8 KiB
YAML

# Build + push + deploy do serviço documents, executado no Google Cloud Build.
# Motivo: o runner do Gitea Actions não tem Docker (`docker: command not found`).
# O cd.yml só dispara `gcloud builds submit`.
steps:
# 1) Build da imagem (NPM_TOKEN é build-arg: as libs @clubpetrodev/* são privadas)
- name: 'gcr.io/cloud-builders/docker'
id: build
args:
- build
- --platform=linux/amd64
- -t
- '${_IMAGE}'
- --build-arg=NPM_TOKEN=${_NPM_TOKEN}
- .
# 2) Push para o Artifact Registry
- name: 'gcr.io/cloud-builders/docker'
id: push
args: [push, '${_IMAGE}']
# 3) Deploy no GKE hml2
- name: 'gcr.io/cloud-builders/kubectl'
id: deploy
args:
- set
- image
- deployment/documents-deployment
- 'documents=${_IMAGE}'
- -n
- '${_K8S_NAMESPACE}'
env:
- 'CLOUDSDK_COMPUTE_REGION=${_GKE_REGION}'
- 'CLOUDSDK_CONTAINER_CLUSTER=${_GKE_CLUSTER}'
- 'CLOUDSDK_CORE_PROJECT=${_GCP_PROJECT}'
- name: 'gcr.io/cloud-builders/kubectl'
id: rollout
args:
- rollout
- status
- deployment/documents-deployment
- -n
- '${_K8S_NAMESPACE}'
- '--timeout=180s'
env:
- 'CLOUDSDK_COMPUTE_REGION=${_GKE_REGION}'
- 'CLOUDSDK_CONTAINER_CLUSTER=${_GKE_CLUSTER}'
- 'CLOUDSDK_CORE_PROJECT=${_GCP_PROJECT}'
# O default do Cloud Build é 10min; `yarn install` + `nest build` a frio passa disso.
timeout: 1800s
options:
substitution_option: 'ALLOW_LOOSE'
# LEGACY em vez de CLOUD_LOGGING_ONLY: com CLOUD_LOGGING_ONLY o
# `gcloud builds submit` não mostra o log e a falha fica cega.
logging: LEGACY
substitutions:
_IMAGE: ''
_NPM_TOKEN: ''
_GKE_CLUSTER: ''
_GKE_REGION: ''
_GCP_PROJECT: ''
_K8S_NAMESPACE: 'default'