05/12/2019 | Autor: Claudio Romão | Categoria: Técnico | Comentários

Múltiplos repositórios git em um pipeline

Na sprint 161 do Azure DevOps Services foi liberada uma feature bem interessante. Agora conseguimos puxar múltiplos repositórios git em um único pipeline sem depender de scripts que alguém desenvolveu e sem a necessidade de termos módulos do git.

Sei que muitos vão pensar que isso não é uma boa prática. E estão certos, pois uma aplicação não pode depender da outra para ser compilada e ser “deployada” em produção. Mas no dia-a-dia nós vemos essa necessidade em alguns projetos e sempre precisávamos resolver de uma maneira não tão fácil.

Agora basta adicionarmos os repositórios na descrição do nosso build que ele fará essa ação para nós. Para poder trabalhar com múltiplos repositórios deveremos declarar o recurso repositories no nosso yaml. Ficaria da seguinte fomra:

1
2
3
4
5
6
7
8
9
10
resources:
repositories:
  - repository: tools
    name: Tools
    type: git

steps:
- checkout: self
- checkout: tools
- script: dir $(Build.SourcesDirectory)

 
Com isso, no final da nossa build nós veremos duas pastas dentro do diretório Source Directory no agente. Uma pasta com o nome do repositório que o yaml está e a outra com o repositório que você adicionou.

Importante ressaltar é que temos dois tipos de repositório git e github, ou seja nós podemos baixar repositórios do github também.

Para informar qual repositório que vocês que fazer o fetch, basta colocar o nome do repositório se o mesmo estiver no mesmo team project que você está trabalhando. Caso você precise referenciar um repositório em outro team project você deve usar o seguinte modelo: nomeDoOutroTeamProject/nomeDoRepositorio.

Espero que tenha gostado e se tiver alguma dúvida específica me manda um e-mail ou deixe nos comentários.

Até a próxima,
Claudio Romão