Pular para o conteúdo principal

GitLab CI

O GitLab não usa a troca OIDC da Moatgator, então autentique com uma chave de API.

1. Guarde a chave​

Em Settings → CI/CD → Variables, adicione MOATGATOR_API_KEY com o valor mg_live_… (escopos builds:write, builds:read). Ligue Mask variable e Protect variable, para que ela só seja exposta a branches e tags protegidas.

2. Adicione o job​

.gitlab-ci.yml
moatgator:
stage: deploy
image: node:22-bookworm-slim
rules:
- if: $CI_COMMIT_TAG =~ /^v/ # só tags, nunca merge requests de forks
needs: ["build_release"] # o job que produz o .aab
script:
- npx moatgator validate
- npx moatgator scan app/build/outputs/bundle/release/app-release.aab --min-grade C
- npx moatgator protect app/build/outputs/bundle/release/app-release.aab --app-version "$CI_COMMIT_TAG" --commit "$CI_COMMIT_SHA"

O job de build precisa expor o artefato:

build_release:
stage: build
script: ./gradlew bundleRelease
artifacts:
paths: ["app/build/outputs/bundle/release/*.aab"]

Notas​

  • Uma variável protegida só fica disponível em refs protegidas; marque v* como padrão de tag protegida.
  • Os códigos de saída estão na visão geral de CI: um código diferente de zero faz o job falhar.
  • Runners próprios sem acesso à internet precisam liberar api.moatgator.com (ou definir MOATGATOR_API_URL).