# 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'