Поделиться через


Руководство по проверке подлинности реестров 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_PATPRIVATE_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'