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'