Aracılığıyla paylaş


Öğretici: GitHub Actions'ta vcpkg Git tabanlı kayıt defterlerinin kimliğini doğrulama

Özel kayıt defterleriyle vcpkg kullanırken, vcpkg tarafından dahili olarak yürütülen Git işlemlerinin kimliğini doğrulamak için erişim kimlik bilgileri sağlamak gerekir.

Bu öğreticide, GitHub Actions iş akışınızda kullanmak üzere özel bir Git deposunun kimliğini doğrulamayı öğreneceksiniz.

Önkoşullar

  • GitHub hesabı
  • GitHub'da barındırılan özel bir vcpkg Git kayıt defteri
  • vcpkg

1 - Özel deponuz için Kişisel Erişim Belirteci oluşturma

Ayrıntılı bir Kişisel Erişim Belirteci (PAT) oluşturmak ve vcpkg Git kayıt defterinizin barındırıldığı özel depoya erişim izni vermek için GitHub'daki yönergeleri izleyin.

2 - İş akışınızda kullanmak üzere github actions gizli dizisi oluşturma

Dekont

GitHub Kişisel Erişim Belirtecini hiçbir zaman depo dosyalarınızda depolamayın

Sonraki adım, PAT'yi GitHub Actions iş akışlarınızda kullanılabilen bir gizli dizi olarak depolamak için GitHub'ın yönergelerini izlemektir.

3 - İş akışınızdaki özel Git depolarında kimlik doğrulaması

Şimdi iş akışınıza bir kimlik doğrulama adımı ekleme zamanı geldi, iş akışınızın YAML dosyasında aşağıdaki şablonu kullanın. yerine PRIVATE_REPO_URL özel deponuzun URL'sini yazın; örneğin: https://github.com/Microsoft/secret-vcpkg-registry; değerini önceki adımda oluşturduğunuz gizli dizi değişkeninin adıyla değiştirin PRIVATE_REGISTRY_PAT .

Bu iş akışı adımı, vcpkg çağıran diğer iş akışı adımlarından önce çalıştırılmalıdır.

  - name: Authenticate private registries
    shell: bash
    run: git config --global credential.PRIVATE_REPO_URL.helper '!f() { echo username=unused; echo password=${{secrets.PRIVATE_REGISTRY_PAT }}; }; f'

Birden çok özel depo içeren örnek

Aşağıdaki örnek, deseni kullanarak birden çok özel depo için Git kimlik bilgilerinin nasıl sağ yapılacağını credential.<url>.helper gösterir.

    - name: Authenticate private registries
      shell: bash
      run: |
          git config --global credential.https://github.com/vcpkg/private_registry.helper '!f() { echo username=unused; echo password=${{secrets.private_registry_pat}}; }; f'
          git config --global credential.https://github.com/vcpkg/secret_registry.helper `!f() { echo username=unused; echo password=${{secrets.secret_registry_pat}}; }; f'