Руководство по проверке подлинности реестров vcpkg на основе Git в GitHub Actions
При использовании vcpkg с частными реестрами необходимо предоставить учетные данные доступа для проверки подлинности операций Git, выполняемых внутри vcpkg.
В этом руководстве вы узнаете, как пройти проверку подлинности частного репозитория Git для использования в рабочем процессе GitHub Actions.
Необходимые компоненты
- Учетная запись GitHub
- Частный реестр vcpkg Git, размещенный на сайте GitHub
- vcpkg
1. Создание личного маркера доступа для частного репозитория
Следуйте инструкциям на сайте GitHub, чтобы создать точный личный маркер доступа (PAT) и предоставить ему разрешение на доступ к частному репозиторию, в котором размещен реестр vcpkg Git.
2. Создание секрета GitHub Actions для использования в рабочем процессе
Примечание.
Никогда не храните маркер личного доступа GitHub в файлах репозитория
Следующий шаг — следовать инструкциям GitHub, чтобы сохранить PAT в виде секрета, доступного в рабочих процессах GitHub Actions.
3. Проверка подлинности в частных репозиториях Git в рабочем процессе
Теперь пришло время добавить шаг проверки подлинности в рабочий процесс, используйте следующий шаблон в YAML-файле рабочего процесса. Замените URL-адрес частного репозитория, например: https://github.com/Microsoft/secret-vcpkg-registry
замените PRIVATE_REGISTRY_PAT
PRIVATE_REPO_URL
именем переменной секрета, созданной на предыдущем шаге.
Этот шаг рабочего процесса должен выполняться до любого другого шага рабочего процесса, вызывающего 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'
Пример с несколькими частными репозиториями
В следующем примере показано, как предоставить учетные данные Git для нескольких частных репозиториев с помощью credential.<url>.helper
шаблона.
- 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'