GitLab
GitLab iki tür kimlik bilgisi kabul eder; ikisi de hem gitlab.com hem self-managed GitLab ile çalışır.
| OAuth uygulaması | Kişisel erişim token’ı | |
|---|---|---|
| Kime ait | GitLab’de tanımladığınız bir uygulamaya | Tek bir kişinin hesabına |
| Token | Erişim token’ı otomatik yenilenir | Token’ın kendi bitiş tarihine kadar geçerli |
| Kapsamlar | api, read_user, read_repository | api (tam kullanım) veya read_api (salt okunur) |
Bağlama
Bölüm başlığı “Bağlama”- Kimlik bilgileri → Bağlantı ekle → GitLab.
- GitLab’in nerede olduğunu seçin: gitlab.com (Cloud) veya Self-hosted. Self-hosted için kurulum adresini girin, ör.
https://gitlab.acme.com(sonunda yol olmadan). - Kimlik doğrulama yolunu seçin: Uygulama tanımla veya Token yapıştır.
OAuth uygulaması
Bölüm başlığı “OAuth uygulaması”- GitLab’de User Settings → Applications sayfasında bir uygulama oluşturun.
- Sihirbazın gösterdiği Redirect URI’yi birebir yapıştırın.
api,read_user,read_repositorykapsamlarını işaretleyin.- Application ID ve Secret değerlerini sihirbaza yapıştırıp kaydedin. Grup adı isteğe bağlıdır.
- Yetkilendirmeyi kimlik bilgisindeki GitLab ile bağlan düğmesiyle tamamlayın.
Kişisel erişim token’ı
Bölüm başlığı “Kişisel erişim token’ı”- GitLab’de
apiveyaread_apikapsamlı bir kişisel erişim token’ı oluşturun. - Sihirbaza yapıştırın. Grup adı isteğe bağlıdır.
Token saklanmadan önce AppArch kapsamlarını ve bitiş tarihini GitLab’den okur. api veya read_api içermeyen token reddedilir. read_api token’ı salt okunur uyarısıyla kabul edilir: tarama ve raporlar çalışır, ancak ArchPilot bu token ile yorum yazamaz.
Ne sağlar?
Bölüm başlığı “Ne sağlar?”- ArchPilot merge request’lere yorum yazar.
- CI çalışmalarından gelen ArchScan / ArchSecurity sonuçları panelde görünür.
GitLab CI hattınıza runner job’ını ekleyin:
# 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: # The two values you set: your AppArch installation's address and the project token. ApiUrl: "https://api.yourdomain.com" ProjectToken: "$APPARCH_TOKEN" 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"Diğer CI örnekleri ve token kurulumu: Runner’ı CI’a ekleme.