Partilhar via


Conectar o Azure DevOps Server ao GitHub (local)

Azure DevOps Server 2022 | Azure DevOps Server 2020 | Azure DevOps Server 2019

Quando você conecta seu projeto do Servidor de DevOps do Azure aos repositórios do GitHub, dá suporte à vinculação entre confirmações do GitHub e solicitações pull para itens de trabalho. Você pode usar o GitHub para desenvolvimento de software enquanto usa os Painéis do Azure para planejar e acompanhar seu trabalho.

Nota

O Azure DevOps Server 2020 local oferece suporte à integração com repositórios GitHub.com e GitHub Enterprise Server. Se você quiser se conectar a partir dos Serviços de DevOps do Azure, consulte Conectar painéis do Azure ao GitHub.

Ao conectar seu projeto do Azure DevOps Server aos repositórios do GitHub Enterprise Server, você dá suporte à vinculação entre confirmações do GitHub e solicitações pull para itens de trabalho. Você pode usar o GitHub Enterprise para desenvolvimento de software enquanto usa os Painéis do Azure para planejar e acompanhar seu trabalho.

Nota

O Azure DevOps Server 2019 local oferece suporte à integração com repositórios do GitHub Enterprise Server. Se você quiser se conectar a partir dos Serviços de DevOps do Azure, consulte Conectar painéis do Azure ao GitHub.

Pré-requisitos

  • Integração com GitHub:
    • Conecte-se a repositórios GitHub.com instalando o Azure DevOps Server 2020.1.1 Patch 2. Sem esse patch, você só pode se conectar aos repositórios do GitHub Enterprise Server.
    • Instale o aplicativo Azure Boards para GitHub nas organizações ou conta do GitHub.
  • Conexão do projeto: conecte-se a um Azure Boards ou a um projeto do Azure DevOps. Se você ainda não tem um projeto, crie um.
  • Permissões:
    • Seja membro do grupo Administradores de Coleção de Projetos e do grupo de Colaboradores do projeto. Se você criou o projeto, então você tem permissões.
    • Seja um administrador do GitHub Enterprise Server ao qual você se conecta.

Opções de autenticação

As seguintes opções de autenticação são suportadas.

Nota

O OAuth não tem suporte para o Azure DevOps Server 2020.

Registrar o Azure DevOps no GitHub como um aplicativo OAuth

Se você planeja usar o OAuth para conectar o Servidor de DevOps do Azure ao seu GitHub Enterprise Server, primeiro precisa registrar o aplicativo como um Aplicativo OAuth. Para obter mais informações, consulte Criar um aplicativo OAuth.

Registrar o Servidor de DevOps do Azure

  1. Faça login no portal da Web do seu servidor GitHub Enterprise.

    Captura de tela do login no GitHub Enterprise Server.

  2. Selecione Configurações>Configurações do desenvolvedor Aplicativos>>Oauth Novo aplicativo OAuth.

    Captura de tela mostrando a sequência para chegar à tela Novo aplicativo OAuth.

  3. Insira suas informações para registrar seu aplicativo do Azure DevOps Server.

    Captura de ecrã do registo do projeto do Azure DevOps Server.

    Para a URL da página inicial, especifique a URL pública da sua coleção de projetos. Você pode encontrar essa URL ao abrir o Console de Administração do Azure DevOps e exibir o nó da Camada de Aplicativo .

    Captura de ecrã da Consola de Administração do Servidor Azure DevOps, Camada de Aplicação.

    Para a URL de retorno de chamada de autorização, use o padrão a seguir para construir a URL.

    {Azure DevOps Server Public Url}/{Collection Name}/_admin/oauth2/callback

    Por exemplo:

    http://contoso/DefaultCollection/_admin/oauth2/callback

    https://tfs.contoso.com/MyCollection/_admin/oauth2/callback

  4. Selecione Registrar aplicativo.

  5. É exibida uma página que fornece a ID do Cliente e o Segredo do Cliente para seu aplicativo OAuth registrado.

    Captura de ecrã do ID do Cliente e do Segredo do Cliente para a sua aplicação OAuth registada.

Registrar sua configuração OAuth no Azure DevOps Server

  1. Entre no portal da Web do seu Servidor de DevOps do Azure.

  2. Adicione a configuração do GitHub Enterprise Oauth à sua coleção do Azure DevOps Server.

  3. Selecione Configurações>de administrador Configurações de>Oauth Adicionar configuração de Oauth.

    Captura de tela mostrando a sequência de etapas para adicionar a configuração OAuth.

  4. Introduza as suas informações e, em seguida, selecione Criar.

    Captura de tela da caixa de diálogo de configuração do OAuth.

Conectar o Azure DevOps Server ao GitHub Enterprise Server

Você pode conectar até 250 repositórios do GitHub a um projeto do Azure Boards.

Nota

A conexão com mais de 100 repositórios do GitHub requer a atualização do Azure DevOps Server 2020.1 ou versão posterior.
A conexão com repositórios GitHub.com requer o Azure DevOps Server 2020.1.1 Patch 2 ou versão posterior.

Você pode conectar até 100 repositórios do GitHub a um projeto do Azure Boards. Este limite não pode ser alterado.

  1. Abra o portal da Web para seu Servidor de DevOps do Azure.

  2. Selecione o logotipo do Azure DevOps para abrir Projetos e, em seguida, escolha o projeto do Azure Boards que você deseja configurar para se conectar aos repositórios do GitHub Enterprise.

  1. Selecione Configurações do>projeto Conexões do GitHub.

    Captura de tela das conexões GitHub abertas das Configurações>do Project.

  2. Se for a primeira vez que faz uma conexão do projeto, escolha o método de autenticação que deseja usar para fazer a conexão:

    Captura de tela da primeira conexão com as credenciais do GitHub.

    Caso contrário, selecione Nova conexão e selecione seu método de autenticação na caixa de diálogo Nova conexão .

  1. Selecione Configurações do>projeto Conexões>do GitHub Conecte sua conta do GitHub Enterprise.

    Captura de tela das configurações do projeto, Integrações selecionadas.

    Ou escolha um token de acesso pessoal ou nome de usuário e senha, se você estiver usando essas credenciais.

Conecte-se com OAuth

Escolha a configuração que você definiu na Etapa 4 de Registrar sua configuração OAuth no Servidor de DevOps do Azure. Em seguida, selecione Conectar.

Captura de tela da nova conexão do GitHub Enterprise, caixa de diálogo OAuth.

Conecte-se com um token de acesso pessoal

  1. Para criar um PAT, consulte Criando um token de acesso pessoal.

    Gorjeta

    Ao criar seu PAT do GitHub, certifique-se de incluir estes escopos: repo, admin:repo_hook, read:user, user:email.

  2. Insira a URL do seu servidor GitHub Enterprise e as credenciais do token de acesso pessoal reconhecidas por esse servidor. E, em seguida, selecione Conectar.

Captura de ecrã do início de sessão com PAT.

Conecte-se com um nome de usuário e senha

  1. Insira a URL do seu servidor GitHub Enterprise e as credenciais da conta de administrador reconhecidas por esse servidor. E, em seguida, escolha Conectar.

Captura de ecrã do início de sessão com nome de utilizador e palavra-passe.

  1. A caixa de diálogo lista todos os repositórios para os quais você tem direitos de administração do GitHub. Você pode alternar entre Meu e Todos para determinar se outros aparecem e, em seguida, verificar os que você deseja adicionar. Escolha Salvar quando terminar.

    Captura de ecrã dos repositórios a selecionar para adicionar.

  2. Para se conectar a uma conta ou organização do GitHub a partir dos Painéis do Azure pela primeira vez, você também instala o aplicativo Painéis do Azure para GitHub. Conclua a integração seguindo os procedimentos descritos em Confirmar a conexão.

Resolver problemas de ligação

A integração Azure Boards-GitHub depende de vários protocolos de autenticação para dar suporte à conexão. Alterações no escopo de permissão ou credenciais de autenticação de um usuário podem causar a revogação dos repositórios do GitHub conectados aos Painéis do Azure.

Para obter uma visão geral da integração suportada pelo aplicativo Azure Boards for GitHub, consulte Integração Azure Boards-GitHub.

Opções de autenticação suportadas

As seguintes opções de autenticação são suportadas com base na plataforma GitHub à qual você deseja se conectar.

Plataforma

GitHub.com

Servidor GitHub Enterprise

Serviços de DevOps do Azure

  • GitHub.com conta de utilizador
  • Token de acesso pessoal (PAT)
  • OAuth
  • PAT
  • Nome de utilizador mais palavra-passe

Azure DevOps Server 2020

Não aplicável

  • PAT
  • Nome de utilizador mais palavra-passe

Azure DevOps Server 2019

Não aplicável

  • OAuth
  • PAT
  • Nome de utilizador mais palavra-passe

Nota

Com o aplicativo Azure Boards para GitHub, os Painéis do Azure e os Serviços de DevOps do Azure se integram aos repositórios GitHub.com e GitHub Enterprise Server. O Azure DevOps Server 2019 e versões posteriores suportam apenas a integração com repositórios do GitHub Enterprise Server. A integração com outros repositórios Git não é suportada.

Resolver problemas de acesso

Quando a conexão do Azure Boards com o GitHub não tem mais acesso, ela mostra um status de alerta na interface do usuário com um X vermelho. Passe o cursor sobre o alerta e ele indica que as credenciais não são mais válidas. Para corrigir o problema, remova a conexão e recrie uma nova conexão.

Captura de ecrã da ligação falhada.

Quando a conexão do Azure Boards com o GitHub não tem mais acesso, ela mostra um status de alerta na interface do usuário com um X vermelho que tem uma dica de ferramenta, como Não é possível se conectar ao GitHub.

Considere as seguintes resoluções:

  • Se a conexão estiver usando OAuth:

    • O aplicativo Azure Boards teve seu acesso negado para um dos repositórios.

    • O GitHub pode estar indisponível/inacessível. Essa indisponibilidade pode ser devido a uma interrupção no serviço ou a um problema de infraestrutura/rede no local. Você pode verificar o status do serviço nos seguintes links:

      Exclua e recrie a conexão com o repositório GitHub. Essa conexão recriada faz com que o GitHub solicite a reautorização do Azure Boards.

  • Se a conexão estiver usando um PAT:

    • A PAT pode ser revogada ou os escopos de permissão necessários alterados e são insuficientes.

    • O usuário talvez tenha perdido permissões administrativas no repositório GitHub.

      Recrie a PAT e verifique se o escopo do token inclui as permissões necessárias: repo, read:user, user:email, admin:repo_hook.

Atualizar definições XML para tipos de item de trabalho selecionados

Se sua organização personaliza o controle de trabalho usando o XML hospedado ou o modelo de processo XML local e deseja integrar os tipos de link do GitHub na seção Desenvolvimento dos formulários de item de trabalho, você deve atualizar as definições XML para os tipos de item de trabalho correspondentes.

Por exemplo, para vincular histórias de usuários e bugs a confirmações do GitHub e solicitações pull dentro da seção Desenvolvimento de formulários de item de trabalho, você deve atualizar as definições XML para esses tipos de item de trabalho.

Para modificar as definições XML, execute as etapas descritas em Modelo de processo XML hospedado. Para cada tipo de item de trabalho:

  1. Localize a Group Label="Development" seção.
  2. Para suportar os tipos de link externo, GitHub Commit e GitHub Pull Request, adicione as seguintes linhas de código:

Essa integração permite o acompanhamento contínuo das atividades do GitHub diretamente de seus itens de trabalho nos Painéis do Azure.

             <ExternalLinkFilter Type="GitHub Pull Request" />  
             <ExternalLinkFilter Type="GitHub Commit" />  

Quando for atualizado, a seção deve aparecer da seguinte maneira.

<Group Label="Development">  
   <Control Type="LinksControl" Name="Development">  
      <LinksControlOptions ViewMode="Dynamic" ZeroDataExperience="Development" ShowCallToAction="true">  
         <ListViewOptions GroupLinks="false">   
         </ListViewOptions>  
         <LinkFilters>  
             <ExternalLinkFilter Type="Build" />  
             <ExternalLinkFilter Type="Integrated in build" />  
             <ExternalLinkFilter Type="Pull Request" />  
             <ExternalLinkFilter Type="Branch" />  
             <ExternalLinkFilter Type="Fixed in Commit" />  
             <ExternalLinkFilter Type="Fixed in Changeset" />  
             <ExternalLinkFilter Type="Source Code File" />  
             <ExternalLinkFilter Type="Found in build" />  
             <ExternalLinkFilter Type="GitHub Pull Request" />  
             <ExternalLinkFilter Type="GitHub Commit" />  
         </LinkFilters>  
      </LinksControlOptions>  
   </Control>  
</Group>  

Próximos passos