Ir al contenido

GitLab

GitLab acepta dos tipos de credencial; ambos funcionan con gitlab.com y con un GitLab autogestionado.

Aplicación OAuthToken de acceso personal
Pertenece aUna aplicación que registras en GitLabLa cuenta de una persona
TokensEl token de acceso se renueva automáticamenteVálido hasta su propia fecha de caducidad
Scopesapi, read_user, read_repositoryapi (uso completo) o read_api (solo lectura)
  1. Credentials → Add credential → GitLab.
  2. Elige dónde está GitLab: gitlab.com (Cloud) o Self-hosted. Para Self-hosted, introduce la URL de la instancia, p. ej. https://gitlab.acme.com (sin ruta final).
  3. Elige cómo se autentica AppArch: Register an application o Paste a token.
  1. En GitLab crea una aplicación en User Settings → Applications.
  2. Pega la Redirect URI que muestra el asistente, exactamente como aparece.
  3. Marca los scopes api, read_user, read_repository.
  4. Copia el Application ID y el Secret en el asistente y guarda. El nombre de grupo es opcional.
  5. Completa la autorización con Connect with GitLab en la credencial.
  1. En GitLab crea un token de acceso personal con api o read_api.
  2. Pégalo en el asistente. El nombre de grupo es opcional.

Antes de guardar el token, AppArch lee sus scopes y su caducidad en GitLab. Un token sin api ni read_api se rechaza. Un token read_api se acepta con un aviso de solo lectura: el análisis y los informes funcionan, pero ArchPilot no puede escribir comentarios con él.

  • ArchPilot comenta en las merge requests.
  • Los resultados de ArchScan / ArchSecurity de las ejecuciones de CI aparecen en el panel.

Añade el job del runner a tu pipeline de GitLab CI:

# Image pulls are authorized with your INSTALLATION credential, not the project token
# (Settings → CI/CD → Variables):
# DOCKER_AUTH_CONFIG = {"auths":{"hub.apparch.io":{"auth":"base64(<installation-id>:<installation-key>)"}}}
archpilot:
image: hub.apparch.io/collectors/dotnet:latest
rules:
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
variables:
APPARCH_Collector__Token: "$APPARCH_TOKEN"
APPARCH_Collector__ApiUrl: "https://api.yourdomain.com"
script:
# Optional flags: --modules archpilot,archscan (pin what runs)
# --fail-on critical (fail this step when findings at/above the level exist)
- apparch "$CI_PROJECT_DIR"

Más ejemplos de CI y configuración del token: Añadir el runner a la CI.