GitLab
GitLab acepta dos tipos de credencial; ambos funcionan con gitlab.com y con un GitLab autogestionado.
| Aplicación OAuth | Token de acceso personal | |
|---|---|---|
| Pertenece a | Una aplicación que registras en GitLab | La cuenta de una persona |
| Tokens | El token de acceso se renueva automáticamente | Válido hasta su propia fecha de caducidad |
| Scopes | api, read_user, read_repository | api (uso completo) o read_api (solo lectura) |
Conexión
Sección titulada «Conexión»- Credentials → Add credential → GitLab.
- 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). - Elige cómo se autentica AppArch: Register an application o Paste a token.
Aplicación OAuth
Sección titulada «Aplicación OAuth»- En GitLab crea una aplicación en User Settings → Applications.
- Pega la Redirect URI que muestra el asistente, exactamente como aparece.
- Marca los scopes
api,read_user,read_repository. - Copia el Application ID y el Secret en el asistente y guarda. El nombre de grupo es opcional.
- Completa la autorización con Connect with GitLab en la credencial.
Token de acceso personal
Sección titulada «Token de acceso personal»- En GitLab crea un token de acceso personal con
apioread_api. - 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.
Qué permite
Sección titulada «Qué permite»- 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.