Azure DevOps
يتصل Azure DevOps عبر رمز وصول شخصي (PAT). يُدعم Azure DevOps Services (dev.azure.com) فقط؛ ولا يُدعم Azure DevOps Server.
إنشاء PAT
Section titled “إنشاء PAT”في Azure DevOps افتح User settings ← Personal access tokens ← New Token، واختر المؤسسة وامنح:
- Code (Read & Write)
- Pull Request Threads (Read & Write) - لتعليقات ArchPilot على طلبات السحب.
يكفي Code (Read) وحده للاستخدام بالقراءة فقط؛ وعندها لا يستطيع ArchPilot التعليق. يعرض Azure DevOps الرمز مرة واحدة فقط.
الاتصال
Section titled “الاتصال”- Credentials ← Add credential ← Azure DevOps.
- أدخل معرّف المؤسسة (slug) فقط - الجزء الذي يلي
dev.azure.com/(مثلmyorg). يضيف AppArchdev.azure.com/بنفسه. - الصق الـ PAT. اسم المشروع اختياري ويقصر قائمة المستودعات على مشروع واحد.
- احفظ - يُختبر الاتصال مقابل
dev.azure.com.
لا يوفّر Azure DevOps نقطة نهاية لقراءة نطاقات الرمز أو تاريخ انتهائه؛ لذا فاختبار الاتصال هو الفحص الوحيد، ولا يظهر تاريخ انتهاء على بيانات الاعتماد.
CI (Azure Pipelines)
Section titled “CI (Azure Pipelines)”trigger: nonepr: ['*']pool: { vmImage: ubuntu-latest }steps: - checkout: self fetchDepth: 0 # the target branch is then in the clone: the change's own files and its merge base - script: | echo "$(APPARCH_INSTALLATION_KEY)" | docker login hub.apparch.io -u "$(APPARCH_INSTALLATION_ID)" --password-stdin docker run --rm -v "$(Build.SourcesDirectory):/workspace:ro" \ -e APPARCH_Collector__Token="$(APPARCH_TOKEN)" \ -e APPARCH_Collector__ApiUrl="https://api.yourdomain.com" \ -e SYSTEM_PULLREQUEST_PULLREQUESTID="$(System.PullRequest.PullRequestId)" \ -e SYSTEM_PULLREQUEST_TARGETBRANCH="$(System.PullRequest.TargetBranch)" \ -e SYSTEM_TEAMPROJECT="$(System.TeamProject)" \ -e BUILD_REPOSITORY_NAME="$(Build.Repository.Name)" \ -e SYSTEM_COLLECTIONURI="$(System.CollectionUri)" \ -e BUILD_SOURCEVERSION="$(Build.SourceVersion)" \ hub.apparch.io/collectors/dotnet:latest /workspaceعرّف APPARCH_TOKEN وAPPARCH_INSTALLATION_ID وAPPARCH_INSTALLATION_KEY كمتغيّرات سرّية في خط الأنابيب. الأول هو رمز الـ runner للمشروع؛ والآخران هما بيانات اعتماد التثبيت التي يصادق بها سحب الصورة. المتغيّر SYSTEM_PULLREQUEST_PULLREQUESTID هو ما يُخبر الـ runner بأنه يراجع طلب سحب.