İçeriğe geç

Azure DevOps

Azure DevOps kişisel erişim token’ı (PAT) ile bağlanır. Yalnızca Azure DevOps Services (dev.azure.com) desteklenir; Azure DevOps Server desteklenmez.

Azure DevOps’ta User settings → Personal access tokens → New Token ile organizasyonu seçip şu kapsamları verin:

  • Code (Read & Write)
  • Pull Request Threads (Read & Write) - ArchPilot’un PR yorumları için.

Salt okunur kullanım için tek başına Code (Read) yeterlidir; bu durumda ArchPilot yorum yazamaz. Azure DevOps token’ı yalnızca bir kez gösterir.

  1. Kimlik bilgileri → Bağlantı ekle → Azure DevOps.
  2. Yalnızca organizasyon slug’ını girin: dev.azure.com/ sonrasındaki kısım (ör. myorg). dev.azure.com/ önekini AppArch kendisi ekler.
  3. PAT’i yapıştırın. Proje adı isteğe bağlıdır ve depo listesini tek bir projeye daraltır.
  4. Kaydedin; bağlantı dev.azure.com’a karşı test edilir.

Azure DevOps’ta bir token’ın kapsamlarını veya bitiş tarihini okuyacak bir uç nokta yoktur; bu yüzden tek denetim bağlantı testidir ve kimlik bilgisinde bitiş tarihi gösterilmez.

trigger: none
pr: ['*']
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 ve APPARCH_INSTALLATION_KEY değerlerini pipeline’da gizli değişken olarak tanımlayın. İlki projenin runner token’ı, son ikisi imaj çekiminin kimlik doğrulamasında kullanılan kurulum kimlik bilgisidir. Runner’a pull request incelediğini söyleyen SYSTEM_PULLREQUEST_PULLREQUESTID değişkenidir.