Tem algum tempo que a Microsoft anunciou a disponibilidade geral dos pipelines YAML para todos os estágios dos ciclos de vida das aplicações, e qual é a diferença entre esses pipelines e os antigos, baseados em interface?
As diferenças:
Bom, falo com propriedade quando digo que administrar um pipeline comum é realmente simples, mas como tudo na vida de quem é de tecnologia, a coisa muda de figura quando escalamos...
E aqui a complexidade também é exponencial, tente administrar uma centena de pipelines usando a interface da Microsoft e você vai saber o que quero dizer, toda alteração, por menor que seja, tem que ser feita para todos os pipelines, e não há alteração em lote, nem API, somente o trabalho manual e repetitivo vai aplicar aquela correção imprescindível que garante a entrega do código. :)
Nos pipelines YAML esse cenário muda e muito! O uso de templates garante a modularização e facilita a correção e melhoria em lote.
Além de ser muito simples copiar e colar partes de arquivos YAML, bem mais rápido que navegar pela interface, mesmo que você seja o Ayrton Senna dos mouses...
E não ouse se preocupar em decorar as tasks, temos uma extensa documentação e um assistente muito legal para gerar e alterar as tasks.
Mas, eu vou ter só um pipeline por repositório?
Só se você quiser! A recomendação da Microsoft é que o arquivo contendo o YAML do pipeline se chame azure-pipelines.yaml
e que ele fique na raiz do repositório, mas isso é só uma recomendação, o importante é fazer o apontamento certo na tela de criação de pipelines e você pode se organizar como preferir.
Mas, o pipeline vai executar inteiro, todas as vezes?
Não precisa ser assim, temos as conditions!
E tem ainda mais, alterou o README.md
e não quer que isso dispare toda uma série de tarefas? Use os filtros!
Mas afinal, como implementar?
Temos um guia para quem está começando!
E mais uma coisa!
Todo o processo de CI/CD, build, testes, release e qualquer outro estágio que você possa vir a precisar, pode e deve ser implementado, inclusive no mesmo arquivo.
Para conseguir a divisão lógica da qual você vai precisar nesse ponto, use a sepração de stages, como é explicado aqui.
Top comments (0)