Integrar repositórios do GitHub ao Azure Pipelines
A integração de repositórios do GitHub ao Azure Pipelines combina os recursos colaborativos do GitHub com os robustos recursos de CI/CD do Azure Pipelines. Essa integração permite que as equipes usem o GitHub para controle do código-fonte, aproveitando o Azure Pipelines para builds, testes e implantações automatizados.
Planejando sua integração
O GitHub e o Azure Pipelines são serviços separados com modelos independentes de gerenciamento de usuário e permissão. Considere estes aspectos principais ao planejar sua integração:
Convenções de nomenclatura
Estabeleça padrões de nomenclatura consistentes entre os repositórios do GitHub e o Azure Pipelines para melhorar a organização e a clareza:
Organização do Azure DevOps: crie uma organização do Azure DevOps com o mesmo nome da sua organização do GitHub. Por exemplo:
- Organização do GitHub:
contoso - Organização do Azure DevOps:
https://dev.azure.com/contoso
Nomenclatura de projeto: crie projetos do Azure DevOps que correspondam aos nomes do repositório GitHub. Por exemplo:
- Repositório GitHub:
contoso/webapp - Projeto do Azure DevOps:
https://dev.azure.com/contoso/webapp
Nomenclatura de pipeline: use nomes descritivos que fazem referência à organização do GitHub e ao repositório, como contoso.webapp.ci ou contoso.webapp.deploy.
Embora esse alinhamento não seja obrigatório, ele ajuda as equipes a entender a relação entre repositórios e seus pipelines associados.
Gerenciamento de usuários
Os usuários do GitHub não têm acesso automático ao Azure Pipelines e o Azure Pipelines não reconhece identidades do GitHub por padrão. Essa separação significa que o Azure Pipelines não pode enviar automaticamente notificações aos usuários do GitHub sobre eventos de build ou implantação.
Para habilitar as notificações de usuário adequadas:
- Adicionar usuários do GitHub à sua organização do Azure DevOps
- Configurar suas permissões para corresponder aos níveis de acesso do repositório GitHub
- Configurar regras de notificação para informar os usuários sobre eventos de pipeline
Essa abordagem garante que os membros da equipe recebam notificações apropriadas sobre builds, implantações e outras atividades de pipeline.
Métodos de autenticação
O Azure Pipelines precisa de acesso aos repositórios do GitHub para disparar builds e buscar código. Escolha entre estes métodos de autenticação:
Autenticação do aplicativo GitHub (recomendado):
- Usa a identidade do Azure Pipelines em vez de contas pessoais
- Dá suporte a verificações do GitHub para exibir resultados de build, teste e cobertura
- Mais seguro e não depende de contas de usuário individuais
Autenticação OAuth:
- Adequado para contas pessoais do GitHub
- As atualizações de status do GitHub aparecem em sua identidade pessoal
- Fácil de configurar para desenvolvedores individuais
PAT (Token de Acesso Pessoal):
- Oferece controle de permissão granular
- Usa sua identidade pessoal do GitHub
- Requer manutenção regular devido à expiração e à possível revogação
Passos de implementação
Configurando a autenticação do Aplicativo GitHub:
- Instalar o Aplicativo GitHub do Azure Pipelines em sua organização do GitHub
- Conceder acesso a todos os repositórios ou específicos (requer direitos de administrador de repositório ou proprietário da organização)
- Novos pipelines automaticamente usam esse método de autenticação
Configurando a autenticação OAuth:
- Durante a criação do pipeline, selecione "Escolher uma conexão diferente"
- Selecione "Autorizar" para entrar no GitHub com o OAuth
- A conexão OAuth é salva para reutilização em pipelines adicionais
Usando tokens de acesso pessoal:
- Gere um PAT nas configurações do GitHub com estas permissões:
repo, ,admin:repo_hook,read:useruser:email - Criar uma conexão de serviço do GitHub nas configurações do projeto do Azure DevOps
- Ao criar pipelines, referencie a conexão de serviço
Configuração do pipeline
Ao criar seu pipeline:
- Selecione o repositório GitHub de destino
- Escolha um arquivo YAML no repositório (o repositório que contém o arquivo YAML torna-se o repositório "self")
- Configurar repositórios adicionais, se necessário
Importante
Quando várias organizações do Azure DevOps acessam o mesmo repositório GitHub, somente o primeiro pipeline pode usar gatilhos automáticos. Pipelines adicionais exigem gatilhos manuais ou agendados.