تخطَّ إلى المحتوى

GitLab

يقبل GitLab نوعين من بيانات الاعتماد، ويعمل كلاهما مع gitlab.com ومع GitLab مُدار ذاتيًا.

تطبيق OAuthرمز وصول شخصي
يعود إلىتطبيق تسجّله على GitLabحساب شخص واحد
الرموزيُجدَّد رمز الوصول تلقائيًاصالح حتى تاريخ انتهائه
النطاقاتapi وread_user وread_repositoryapi (استخدام كامل) أو read_api (قراءة فقط)
  1. Credentials ← Add credential ← GitLab.
  2. اختر مكان GitLab: gitlab.com (Cloud) أو Self-hosted. في حالة Self-hosted أدخل عنوان المثيل، مثل https://gitlab.acme.com (بلا مسار في النهاية).
  3. اختر طريقة المصادقة: Register an application أو Paste a token.
  1. في GitLab أنشئ تطبيقًا من User Settings ← Applications.
  2. الصق عنوان Redirect URI الذي يعرضه المعالج كما هو تمامًا.
  3. فعّل النطاقات api وread_user وread_repository.
  4. انسخ Application ID وSecret إلى المعالج واحفظ. اسم المجموعة اختياري.
  5. أكمل التفويض بزر Connect with GitLab على بيانات الاعتماد.
  1. في GitLab أنشئ رمز وصول شخصيًا بنطاق api أو read_api.
  2. الصقه في المعالج. اسم المجموعة اختياري.

قبل تخزين الرمز يقرأ AppArch نطاقاته وتاريخ انتهائه من GitLab. يُرفض الرمز الذي لا يحمل api ولا read_api. ويُقبل رمز read_api مع تحذير “قراءة فقط”: يعمل الفحص والتقارير، لكن لا يستطيع ArchPilot كتابة تعليقات به.

  • يعلّق ArchPilot على طلبات الدمج.
  • تظهر نتائج ArchScan / ArchSecurity من تشغيلات CI في اللوحة.

أضِف مهمّة الـ runner إلى خط أنابيب 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"

مزيد من أمثلة CI وإعداد الرمز: إضافة الـ runner إلى CI.