GitLab
GitLab akzeptiert zwei Arten von Zugängen; beide funktionieren mit gitlab.com und mit einem selbstverwalteten GitLab.
| OAuth-Anwendung | Personal Access Token | |
|---|---|---|
| Gehört zu | Einer Anwendung, die Sie in GitLab registrieren | Dem Konto einer Person |
| Tokens | Access Token wird automatisch erneuert | Gültig bis zum eigenen Ablaufdatum des Tokens |
| Scopes | api, read_user, read_repository | api (volle Nutzung) oder read_api (nur lesend) |
Verbinden
Abschnitt betitelt „Verbinden“- Credentials → Add credential → GitLab.
- Wählen Sie, wo GitLab läuft: gitlab.com (Cloud) oder Self-hosted. Bei Self-hosted geben Sie die Instanz-URL ein, z. B.
https://gitlab.acme.com(ohne Pfad am Ende). - Wählen Sie die Authentifizierung: Register an application oder Paste a token.
OAuth-Anwendung
Abschnitt betitelt „OAuth-Anwendung“- Legen Sie in GitLab unter User Settings → Applications eine Anwendung an.
- Fügen Sie die Redirect URI aus dem Assistenten exakt so ein, wie sie angezeigt wird.
- Aktivieren Sie die Scopes
api,read_user,read_repository. - Übernehmen Sie Application ID und Secret in den Assistenten und speichern Sie. Ein Gruppenname ist optional.
- Schließen Sie die Autorisierung mit Connect with GitLab am Zugang ab.
Personal Access Token
Abschnitt betitelt „Personal Access Token“- Erstellen Sie in GitLab ein Personal Access Token mit
apioderread_api. - Fügen Sie es in den Assistenten ein. Ein Gruppenname ist optional.
Vor dem Speichern liest AppArch Scopes und Ablaufdatum bei GitLab aus. Ein Token ohne api oder read_api wird abgelehnt. Ein read_api-Token wird mit einer Nur-Lesen-Warnung angenommen: Scans und Berichte funktionieren, ArchPilot kann damit aber keine Kommentare schreiben.
Was es ermöglicht
Abschnitt betitelt „Was es ermöglicht“- ArchPilot kommentiert Merge Requests.
- ArchScan / ArchSecurity-Ergebnisse aus CI-Läufen erscheinen im Panel.
Fügen Sie den Runner-Job Ihrer GitLab-CI-Pipeline hinzu:
# 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"Weitere CI-Beispiele und Token-Einrichtung: Runner in die CI einbinden.