Compartilhar via


Tutorial: Autenticar registros baseados em Git vcpkg em ações do GitHub

Ao usar vcpkg com registros privados é necessário fornecer credenciais de acesso para autenticar operações Git executadas internamente por vcpkg.

Neste tutorial, você aprenderá a autenticar um repositório Git privado para usar em seu fluxo de trabalho de Ações do GitHub.

Pré-requisitos

  • Uma conta do GitHub
  • Um registro Git vcpkg privado hospedado no GitHub
  • vcpkg

1 - Crie um Token de Acesso Pessoal para seu repositório privado

Siga as instruções no GitHub para gerar um Personal Access Token (PAT) refinado e conceder-lhe permissão para acessar o repositório privado onde seu registro Git vcpkg está hospedado.

2 - Crie um segredo de ações do GitHub para usar em seu fluxo de trabalho

Observação

Nunca armazene um Token de Acesso Pessoal do GitHub em seus arquivos de repositório

A próxima etapa é seguir as instruções do GitHub para armazenar o PAT como um segredo disponível em seus fluxos de trabalho de Ações do GitHub.

3 - Autentique-se em repositórios Git privados em seu fluxo de trabalho

Agora é hora de adicionar uma etapa de autenticação ao seu fluxo de trabalho, use o seguinte modelo no arquivo YAML do seu fluxo de trabalho. Substitua PRIVATE_REPO_URL pela URL do seu repositório privado, por exemplo: https://github.com/Microsoft/secret-vcpkg-registry; substitua PRIVATE_REGISTRY_PAT pelo nome da variável secreta que você criou na etapa anterior.

Esta etapa de fluxo de trabalho deve ser executada antes de qualquer outra etapa de fluxo de trabalho que invoque 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'

Exemplo com vários repositórios privados

O exemplo a seguir mostra como fornecer credenciais Git para vários repositórios privados usando o credential.<url>.helper padrão.

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