Como criar uma esteira DevOps com Azure DevOps e Spring Boot

Como criar uma esteira DevOps com Azure DevOps e Spring Boot

DevOps é uma filosofia de trabalho que combina desenvolvimento e operações de software em um processo contínuo e integrado. Uma das ferramentas que facilitam a implementação de DevOps é o Azure DevOps, uma plataforma da Microsoft que oferece serviços de planejamento, colaboração, integração contínua (CI), entrega contínua (CD) e monitoramento para projetos de software.

Neste artigo, vamos aprender como criar uma esteira DevOps com Azure DevOps e Spring Boot, um framework Java para desenvolvimento de aplicações web. Vamos seguir os seguintes passos:

  1. Criar um projeto no Azure DevOps e configurar um repositório Git para armazenar o código-fonte da aplicação.
  2. Criar uma aplicação Spring Boot usando o Spring Initializr e fazer o push do código para o repositório Git.
  3. Criar um pipeline de CI no Azure DevOps para compilar, testar e empacotar a aplicação a cada commit no repositório Git.
  4. Criar um pipeline de CD no Azure DevOps para implantar a aplicação em um serviço de nuvem, como o Azure App Service, a cada build bem-sucedida do pipeline de CI.
  5. Criar um dashboard no Azure DevOps para acompanhar o status dos pipelines e da aplicação.


1) Criar um projeto no Azure DevOps e configurar um repositório Git

Para começar, você precisa ter uma conta no Azure DevOps. Se você não tem, pode criar uma gratuitamente aqui.

Depois de fazer login no Azure DevOps, clique em Criar projeto e preencha os campos Nome do projeto, Descrição e Visibilidade. Você pode escolher o nome que quiser para o seu projeto, mas neste exemplo vamos usar EsteiraDevops.

Após criar o projeto, você será redirecionado para a página inicial do mesmo. Nela, você pode ver os serviços disponíveis do Azure DevOps, como Boards, Repos, Pipelines, Test Plans e Artifacts.

Clique em Repos para acessar o serviço de repositórios Git do Azure DevOps. Você verá que já existe um repositório vazio chamado EsteiraDevops, que tem o mesmo nome do projeto. Você pode usar esse repositório ou criar um novo com outro nome.

Para clonar o repositório para a sua máquina local, você pode usar o botão Clone e copiar a URL do repositório. Você também pode escolher entre usar HTTPS ou SSH para autenticar o acesso ao repositório.


2) Criar uma aplicação Spring Boot usando o Spring Initializr e fazer o push do código para o repositório Git

Agora que você tem um repositório Git no Azure DevOps, você precisa criar uma aplicação Spring Boot para colocar no repositório. Uma forma fácil de fazer isso é usar o Spring Initializr, uma ferramenta online que gera projetos Spring Boot com as dependências que você escolher.

No Spring Initializr, selecione as seguintes opções:

  • Project: Maven Project
  • Language: Java
  • Spring Boot: 2.6.1
  • Project Metadata:

-Group: com.example

-Artifact: esteiradevops

-Name: esteiradevops

-Description: Demo project for Spring Boot and Azure DevOps

-Package name: com.example

  • Dependencies: Web, Actuator

Clique em Generate para baixar o projeto gerado como um arquivo zip. Extraia o arquivo zip em uma pasta de sua preferência e abra o projeto em uma IDE de sua escolha, como o Eclipse ou o IntelliJ IDEA.

Você pode testar a aplicação localmente executando a classe EsteiradevopsApplication que contém o método main. A aplicação irá iniciar um servidor web na porta 8080 e expor um endpoint na URL http://localhost:8080/actuator/health que retorna o status da aplicação.

Para enviar o código da aplicação para o repositório Git no Azure DevOps, você precisa usar os comandos Git no terminal ou na IDE. Os comandos básicos são:

  • git init: para inicializar um repositório Git local na pasta do projeto.
  • git remote add origin: para adicionar o repositório remoto do Azure DevOps como a origem do repositório local.
  • git add: para adicionar todos os arquivos do projeto ao índice do Git.
  • git commit -m "Initial commit": para criar um commit com uma mensagem descritiva.
  • git push -u origin master: para enviar o commit para o branch master do repositório remoto.

Após executar esses comandos, você pode verificar no Azure DevOps que o código da aplicação foi enviado com sucesso para o repositório Git.

3) Criar um pipeline de CI no Azure DevOps para compilar, testar e empacotar a aplicação a cada commit no repositório Git

O próximo passo é criar um pipeline de CI no Azure DevOps para automatizar o processo de compilação, teste e empacotamento da aplicação a cada commit no repositório Git. Um pipeline de CI é uma sequência de tarefas que são executadas em um agente, que pode ser uma máquina virtual ou um contêiner.

Para criar um pipeline de CI no Azure DevOps, clique em Pipelines e depois em Create Pipeline. Você verá uma tela para escolher a origem do código. Selecione Azure Repos Git e depois o seu repositório Git.

Na próxima tela, você pode escolher entre usar um assistente para configurar o pipeline ou usar um arquivo YAML. O arquivo YAML é um formato de texto que permite definir o pipeline de forma declarativa e versionável. Vamos usar essa opção e selecionar Starter pipeline.

Você verá um editor com um arquivo YAML básico que define um pipeline com uma única etapa que imprime Hello world na saída. Você pode modificar esse arquivo para adicionar as etapas necessárias para compilar, testar e empacotar a aplicação Spring Boot.

Uma forma simples de fazer isso é usar a tarefa Maven, que permite executar comandos Maven no pipeline. Você pode adicionar essa tarefa usando o botão Show assistant no canto superior direito do editor e pesquisando por Maven.

A tarefa Maven tem alguns parâmetros que você pode configurar, como:

  • Maven POM file: o caminho do arquivo pom.xml do projeto Maven.
  • Options: as opções de linha de comando do Maven, como -B para modo batch ou -DskipTests para pular os testes.
  • Goals: os objetivos do Maven, como clean, compile, test ou package.

Para compilar, testar e empacotar a aplicação Spring Boot, você pode usar os seguintes parâmetros:

  • Maven POM file: pom.xml
  • Options: -B
  • Goals: clean package

O arquivo YAML final ficará assim:


Clique em Save and run para salvar o arquivo YAML e executar o pipeline. Você verá o resultado da execução na tela, mostrando o log das etapas e o status final.

Se tudo correr bem, você verá que o pipeline foi concluído com sucesso e que a aplicação Spring Boot foi compilada, testada e empacotada em um arquivo JAR na pasta target.

4) Criar um pipeline de CD no Azure DevOps para implantar a aplicação em um serviço de nuvem, como o Azure App Service, a cada build bem-sucedida do pipeline de CI

O último passo é criar um pipeline de CD no Azure DevOps para automatizar o processo de implantação da aplicação em um serviço de nuvem, como o Azure App Service, a cada build bem-sucedida do pipeline de CI. Um pipeline de CD é uma sequência de tarefas que são executadas em um agente ou diretamente no serviço de destino.

Para criar um pipeline de CD no Azure DevOps, clique em Releases e depois em New pipeline. Você verá uma tela para escolher um modelo para o seu pipeline. Selecione Azure App Service deployment e depois clique em Apply.

Você verá uma tela com as configurações do seu pipeline de CD, que consiste em duas partes principais:

  • Artifacts: são os artefatos gerados pelo pipeline de CI, como o arquivo JAR da aplicação. Você pode configurar a origem dos artefatos, como o repositório Git ou o pipeline de CI, e definir um gatilho para iniciar o pipeline de CD quando os artefatos forem atualizados.
  • Stages: são os estágios do pipeline de CD, que podem representar diferentes ambientes de implantação, como desenvolvimento, teste ou produção. Você pode configurar as tarefas que serão executadas em cada estágio, como implantar a aplicação no Azure App Service.

Para configurar os artefatos do seu pipeline de CD, faça o seguinte:

  • Clique em Add an artifact e selecione a origem dos seus artefatos. Neste caso, vamos usar o repositório Git do Azure DevOps que contém o código da aplicação.
  • Selecione o projeto, a fonte e o branch do seu repositório Git. Neste caso, vamos usar o projeto EsteiraDevops, a fonte EsteiraDevops e o branch master.
  • Clique em Add para adicionar os artefatos ao seu pipeline de CD.

Para configurar o gatilho do seu pipeline de CD, faça o seguinte:

  • Clique no ícone de raio ao lado do nome dos seus artefatos e habilite a opção Continuous deployment trigger. Isso fará com que o pipeline de CD seja iniciado sempre que houver uma mudança nos artefatos.
  • Clique em Save para salvar as configurações do gatilho.

Para configurar o estágio do seu pipeline de CD, faça o seguinte:

  • Clique no nome do estágio, que por padrão é Deploy Azure App Service. Você verá uma tela com as tarefas do estágio e as configurações gerais.
  • Na seção Tasks, clique na tarefa Azure App Service deploy. Você verá uma tela com os parâmetros da tarefa, como:

-Azure subscription: puedes cambiar el nombre de la etapa y configurar otros ajustes, como disparadores, condiciones previas y aprobaciones. En este caso, mantendremos la configuración predeterminada.

-App type: o tipo de aplicação que você quer implantar. Neste caso, vamos usar Web App on Linux.

-App service name: o nome do serviço de destino. Você pode criar um novo serviço ou usar um existente. Neste caso, vamos criar um novo serviço chamado esteiradevops.

-Package or folder: o caminho do artefato que contém a aplicação. Neste caso, vamos usar o arquivo JAR gerado pelo pipeline de CI na pasta target.

  • Na seção General, você pode alterar o nome do estágio e definir outras configurações, como gatilhos, pré-condições e aprovações. Neste caso, vamos manter as configurações padrão.
  • Clique em Save para salvar as configurações do estágio.

Para executar o pipeline de CD, você pode fazer um novo commit no repositório Git ou clicar em Create release e depois em Create. Você verá o resultado da execução na tela, mostrando o log das tarefas e o status final.

Se tudo correr bem, você verá que o pipeline foi concluído com sucesso e que a aplicação Spring Boot foi implantada no Azure App Service.


5. Criar um dashboard no Azure DevOps para acompanhar o status dos pipelines e da aplicação

O último passo opcional é criar um dashboard no Azure DevOps para acompanhar o status dos pipelines e da aplicação. Um dashboard é uma coleção de widgets que mostram informações relevantes sobre o seu projeto, como gráficos, tabelas ou indicadores.

Para criar um dashboard no Azure DevOps, clique em Dashboards e depois em New dashboard. Você verá uma tela para escolher um nome e uma descrição para o seu dashboard. Neste caso, vamos usar o nome EsteiraDevops.

Após criar o dashboard, você pode adicionar widgets ao mesmo clicando em Add widget. Você verá uma lista de widgets disponíveis que você pode pesquisar ou filtrar por categoria. Você pode adicionar os widgets que quiser ao seu dashboard, mas alguns exemplos úteis são:

  • Build history: mostra o histórico dos builds do pipeline de CI, incluindo o status, a duração e a data de cada build.
  • Release history: mostra o histórico das releases do pipeline de CD, incluindo o status, a duração e a data de cada release.
  • Azure App Service deployments: mostra os detalhes das implantações da aplicação no Azure App Service, incluindo a versão, o ambiente e a URL da aplicação.

Após adicionar os widgets ao seu dashboard, você pode arrastá-los e redimensioná-los para organizar o layout do seu dashboard. Você também pode editar as configurações de cada widget clicando no ícone de engrenagem no canto superior direito do widget. Por exemplo, você pode alterar o título, a cor ou o tamanho do widget.

Clique em Done editing para salvar as alterações do seu dashboard. Você verá o resultado final na tela, mostrando as informações dos seus pipelines e da sua aplicação.

Você pode acessar o seu dashboard a qualquer momento clicando em Dashboards e depois no nome do seu dashboard. Você também pode compartilhar o seu dashboard com outras pessoas clicando em Share dashboard e copiando a URL do seu dashboard.


Conclusão

Neste artigo, você aprendeu como criar uma esteira DevOps com Azure DevOps e Spring Boot. Você viu como:

  • Criar um projeto no Azure DevOps e configurar um repositório Git para armazenar o código-fonte da aplicação.
  • Criar uma aplicação Spring Boot usando o Spring Initializr e fazer o push do código para o repositório Git.
  • Criar um pipeline de CI no Azure DevOps para compilar, testar e empacotar a aplicação a cada commit no repositório Git.
  • Criar um pipeline de CD no Azure DevOps para implantar a aplicação em um serviço de nuvem, como o Azure App Service, a cada build bem-sucedida do pipeline de CI.
  • Criar um dashboard no Azure DevOps para acompanhar o status dos pipelines e da aplicação.

Com isso, você pode aproveitar os benefícios de DevOps, como:

  • Aumentar a qualidade e a confiabilidade da aplicação.
  • Reduzir os riscos e os custos de implantação.
  • Acelerar o tempo de entrega e o feedback dos usuários.
  • Melhorar a colaboração e a comunicação entre as equipes.

Espero que você tenha gostado deste artigo e que ele tenha sido útil para você. Se você tiver alguma dúvida ou sugestão, por favor deixe um comentário abaixo. Obrigado pela leitura!

💡
As opiniões e comentários expressos neste artigo são de propriedade exclusiva de seu autor e não representam necessariamente o ponto de vista da Revelo.

A Revelo Content Network acolhe todas as raças, etnias, nacionalidades, credos, gêneros, orientações, pontos de vista e ideologias, desde que promovam diversidade, equidade, inclusão e crescimento na carreira dos profissionais de tecnologia.