Escritor, Palestrante e Arquiteto Back-End na Accenture, uma das maiores consultorias do mundo. Um verdadeiro entusiasta do código, apaixonado por tecnologia e empreendedorismo. Em seu tempo livre gosta de escrever artigos técnicos, compartilhar algumas samples no github e acompanhar as novidades da comunidade .NET. Atualmente suas tecnologias preferidas são: Docker, .Net Core, Node e RabbitMQ. Acredita que programar vai além de copiar código e por isso contribui com artigos e palestras para evolução da comunidade de programadores, afinal programador bom é programador bem conceituado.
Microsoft Azure sempre foi uma das clouds mais queridas senão a mais pelos desenvolvedores Microsoft. Recentemente, o Azure VSTS se tornou o Azure Devops e agora, no quarto trimestre de 2018, o Azure Devops liberou uma feature muito bacana! Feature que irá aumentar muito a flexibilidade de configuração de pipelines. Agora, é possível realizar as configurações de CI/CD através de arquivos YAML.
Para exemplificar como funciona, vamos configurar integração contínua e deploy contínuo para uma aplicação docker no Azure. Este artigo cobrirá os seguintes passos:
Configuração do CD no Azure/Docker Hub. Criaremos um web hook no Docker Hub para que, toda vez que um novo push da imagem for realizado o container docker rodando no Azure seja atualizado.
Para continuarmos é necessário que você tenha um pequeno projeto docker para realizarmos as configurações, caso queira algo mais prático, pode baixar o projeto que eu deixei preparado para este exemplo aqui.
Crie um arquivo chamado azure-pipelines.docker.yaml. A primeira configuração do arquivo deve ser qual pool será utilizada para buscar um agent para realizar as tasks que configuraremos no arquivo azure-pipelines.docker.yaml.
Neste caso, especificamos uma máquina ubuntu com versão 16.04. Depois da seção pool, entraremos na seção variables do arquivo, onde apenas configuraremos o tipo do build e o nome da nossa imagem docker.
Na sequência da seção variables podemos configurar os steps do build. Veja, nosso primeiro step, como de costume em qualquer build, é a restauração dos pacotes NuGet. Para isto, executaremos o comando dotnet restore com a chave script.