GitLab
GitLab accepte deux types d’identifiants ; les deux fonctionnent avec gitlab.com et avec un GitLab autogéré.
| Application OAuth | Jeton d’accès personnel | |
|---|---|---|
| Appartient à | Une application que vous enregistrez sur GitLab | Le compte d’une personne |
| Jetons | Jeton d’accès renouvelé automatiquement | Valable jusqu’à sa propre date d’expiration |
| Scopes | api, read_user, read_repository | api (usage complet) ou read_api (lecture seule) |
Connexion
Section intitulée « Connexion »- Credentials → Add credential → GitLab.
- Choisissez où se trouve GitLab : gitlab.com (Cloud) ou Self-hosted. Pour Self-hosted, saisissez l’URL de l’instance, par ex.
https://gitlab.acme.com(sans chemin final). - Choisissez le mode d’authentification : Register an application ou Paste a token.
Application OAuth
Section intitulée « Application OAuth »- Dans GitLab, créez une application sous User Settings → Applications.
- Collez la Redirect URI affichée par l’assistant, exactement telle quelle.
- Cochez les scopes
api,read_user,read_repository. - Reportez l’Application ID et le Secret dans l’assistant et enregistrez. Un nom de groupe est facultatif.
- Terminez l’autorisation avec Connect with GitLab sur l’identifiant.
Jeton d’accès personnel
Section intitulée « Jeton d’accès personnel »- Dans GitLab, créez un jeton d’accès personnel avec
apiouread_api. - Collez-le dans l’assistant. Un nom de groupe est facultatif.
Avant d’enregistrer le jeton, AppArch lit ses scopes et sa date d’expiration auprès de GitLab. Un jeton sans api ni read_api est refusé. Un jeton read_api est accepté avec un avertissement de lecture seule : analyses et rapports fonctionnent, mais ArchPilot ne peut pas écrire de commentaires avec.
Ce que cela permet
Section intitulée « Ce que cela permet »- ArchPilot commente les merge requests.
- Les résultats ArchScan / ArchSecurity des exécutions CI apparaissent dans le panneau.
Ajoutez le job du runner à votre pipeline 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"Autres exemples de CI et configuration du jeton : Ajouter le runner à la CI.