Przeczytaj w języku angielskim

Udostępnij za pośrednictwem


Samouczek: uwierzytelnianie rejestrów opartych na narzędziu vcpkg w usłudze GitHub Actions

W przypadku korzystania z narzędzia vcpkg z rejestrami prywatnymi konieczne jest zapewnienie poświadczeń dostępu do uwierzytelniania operacji usługi Git wykonywanych wewnętrznie przez program vcpkg.

Z tego samouczka dowiesz się, jak uwierzytelnić prywatne repozytorium Git do użycia w przepływie pracy funkcji GitHub Actions.

Wymagania wstępne

  • Konto usługi GitHub
  • Prywatny rejestr gitcpkg hostowany w usłudze GitHub
  • vcpkg

1 — Tworzenie osobistego tokenu dostępu dla repozytorium prywatnego

Postępuj zgodnie z instrukcjami w witrynie GitHub, aby wygenerować szczegółowe osobiste tokeny dostępu (PAT) i przyznać mu uprawnienia dostępu do prywatnego repozytorium, w którym jest hostowany rejestr git vcpkg.

2 — Tworzenie wpisu tajnego funkcji GitHub Actions do użycia w przepływie pracy

Uwaga

Nigdy nie przechowuj osobistego tokenu dostępu usługi GitHub w plikach repozytorium

Następnym krokiem jest wykonanie instrukcji usługi GitHub dotyczących przechowywania tokenu dostępu jako wpisu tajnego dostępnego w przepływach pracy funkcji GitHub Actions.

3 — Uwierzytelnianie w prywatnych repozytoriach Git w przepływie pracy

Teraz nadszedł czas, aby dodać krok uwierzytelniania do przepływu pracy, użyj następującego szablonu w pliku YAML przepływu pracy. Zastąp PRIVATE_REPO_URL ciąg adresem URL repozytorium prywatnego, na przykład: https://github.com/Microsoft/secret-vcpkg-registry; zastąp PRIVATE_REGISTRY_PAT ciąg nazwą zmiennej tajnej utworzonej w poprzednim kroku.

Ten krok przepływu pracy musi zostać uruchomiony przed każdym innym krokiem przepływu pracy, który wywołuje narzędzie vcpkg.

  - 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'

Przykład z wieloma repozytoriami prywatnymi

W poniższym przykładzie pokazano, jak podać poświadczenia usługi Git dla wielu repozytoriów prywatnych przy użyciu credential.<url>.helper wzorca.

    - 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'