Compilar repositórios do Subversion

Azure DevOps Services

Você pode integrar seu servidor Subversion local ao Azure Pipelines. O servidor Subversion precisa estar acessível ao Azure Pipelines.

Observação

Os pipelines YAML não funcionam com repositórios do Subversion.

Se o servidor estiver acessível por meio dos agentes hospedados, você poderá usar os agentes hospedados para executar builds manuais, agendados ou de CI. Caso contrário, você precisa configurar agentes auto-hospedados que possam acessar seu servidor local e buscar o código.

Para se integrar ao Subversion, crie uma conexão de serviço do Subversion e use-a para criar um pipeline. Os gatilhos de CI funcionam por meio de sondagem. Em outras palavras, o Azure Pipelines verifica periodicamente no servidor Subversion se há atualizações no código. Se houver, o Azure Pipelines iniciará uma nova execução.

Se o servidor Subversion não puder ser acessado do Azure Pipelines, trabalhe com seu departamento de TI para abrir um caminho de rede entre o Azure Pipelines e o seu servidor. Por exemplo, você pode adicionar exceções às regras de firewall para permitir que o tráfego do Azure Pipelines flua. Consulte a seção em IPs do Azure DevOps para ver quais endereços IP você precisa permitir. Além disso, você precisa ter uma entrada DNS pública para o servidor do Subversion para que o Azure Pipelines possa resolver o FQDN do servidor para um endereço IP.

Acessível por meio de agentes hospedados pela Microsoft

Uma decisão que você precisa tomar é usar agentes hospedados pela Microsoft ou agentes auto-hospedados para executar seus pipelines. Essa decisão geralmente é tomada dependendo de os agentes hospedados pela Microsoft poderem ou não acessar seu servidor. Para verificar se eles podem, crie um pipeline simples para usar agentes hospedados pela Microsoft e adicione uma etapa para verificar o código-fonte do servidor. Se isso for aprovado, você poderá continuar usando agentes hospedados pela Microsoft.

Não acessível por agentes hospedados pela Microsoft

Se o pipeline de teste simples mencionado na seção acima falhar com um erro, o servidor Subversion provavelmente não poderá ser acessado por agentes hospedados pela Microsoft. Isso provavelmente é causado por um firewall que bloqueia o tráfego proveniente desses servidores. Neste caso, você tem duas opções:

  • Trabalhe com seu departamento de TI para abrir um caminho de rede entre agentes hospedados pela Microsoft e o servidor Subversion. Consulte a seção sobre rede em agentes hospedados pela Microsoft.

  • Alterne para o uso de agentes auto-hospedados ou agentes de conjunto de dimensionamento. Esses agentes podem ser configurados em sua rede e, portanto, terão acesso ao servidor Subversion. Esses agentes exigem apenas conexões de saída com o Azure Pipelines. Não é necessário abrir um firewall para conexões de entrada. Verifique se o nome do servidor especificado ao criar a conexão de serviço é resolvível por meio dos agentes auto-hospedados.

Endereços IP do Azure DevOps

Para permitir que o tráfego do Azure DevOps chegue ao servidor Subversion, adicione os endereços IP ou as marcas de serviço especificadas em Conexões de entrada à lista de IP permitidos do firewall. Se você usar o ExpressRoute, inclua também intervalos de IP do ExpressRoute na lista de IP permitidos do firewall.

Perguntas frequentes

Os problemas relacionados à integração do servidor Subversion se enquadram nas seguintes categorias:

  • Gatilhos com falha: meu pipeline não está sendo disparado quando efetuo push de uma atualização para o repositório.
  • Check-out com falha: meu pipeline está sendo disparado, mas ele falha na etapa de check-out.

Gatilhos com falha

Enviei uma alteração por push ao meu servidor, mas o pipeline não está sendo disparado.

Siga cada uma destas etapas para solucionar problemas dos gatilhos com falha:

  • O servidor Subversion está acessível do Azure Pipelines? O Azure Pipelines sonda periodicamente o servidor Subversion em busca de alterações. Se o servidor Subversion estiver atrás de um firewall, esse tráfego poderá não chegar ao servidor. Confira Endereços IP do Azure DevOps e verifique se você concedeu exceções a todos os endereços IP necessários. Esses endereços IP podem ter sido alterados, pois você configurou originalmente as regras de exceção.

  • Seu pipeline está em pausa ou desabilitado? Abra o editor do pipeline e selecione Configurações para verificar. Se o pipeline estiver em pausa ou desabilitado, os gatilhos não funcionarão.

Não enviei atualizações por push ao meu código, no entanto, o pipeline ainda está sendo disparado.

  • O gatilho de integração contínua para Subversion funciona por meio de sondagem. Após cada intervalo de sondagem, o Azure Pipelines tenta entrar em contato com o servidor Subversion para verificar se houve alguma atualização no código. Se o Azure Pipelines não conseguir acessar o servidor (possivelmente devido a um problema de rede), iniciaremos uma nova execução de qualquer maneira, supondo que possa ter havido alterações de código. Em alguns casos, o Azure Pipelines também pode criar um build fictício com falha com uma mensagem de erro para indicar que não foi possível acessar o servidor.

Check-out com falha

A etapa de check-out falha com o erro que o servidor não pode ser resolvido.

Você usa agentes hospedados pela Microsoft? Nesse caso, esses agentes podem não conseguir acessar o servidor Bitbucket. Confira Não acessível em agentes hospedados pela Microsoft para obter mais informações.