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 definirMOATGATOR_API_URL).