
Na próxima aula, vamos colocar o tasks-backend no ar.
Essa aplicação precisa se conectar com o banco para subir corretamente. Deixei todos os valores padrões configurados para o caso de você está usando os mesmos parâmetros que eu (Mostro na aula onde mudar, caso seja necessário).
No entanto, tem uma diferença para quem estiver utilizando o Docker instalado via Docker Toolbox. O ip dos containers que você cria via toolbox não é o localhost (127.0.0.1). Você pode descobrir o ip correto, utilizando o comando abaixo
docker-machine ip
Dessa forma, basta trocar o arquivo de propriedades da aplicação backend alterando o ip do banco para este valor que será retornado pelo docker-machine ip.
Exemplificando:
Vamos supor que o comando "docker-machine ip" retornou o ip 192.168.99.100
Você vai precisar alterar o arquivo tasks-backend/src/main/resources/application.properties, mais especificamente na linha:
spring.datasource.url=jdbc:postgresql://${DATABASE_HOST:127.0.0.1}:${DATABASE_PORT:5433}/tasks
Alterando o ip 127.0.0.1 para o valor recuperado anteriormente, ficando da seguinte forma
spring.datasource.url=jdbc:postgresql://${DATABASE_HOST:192.168.99.100}:${DATABASE_PORT:5433}/tasks
Importante alterar apenas o valor do IP na aplicação da próxima aula antes de gerar o arquivo war.
Bons estudos
Seja muito bem vindo(a) ao curso de Integração contínua com testes, utilizando Jenkins.
Nesse curso, você irá aprender como criar um processo automatizado de integração e deploy contínuo CI/CD para a sua aplicação. Sempre, claro, passando por vários processos de testes visando garantir que novas versões do seu produto entrem no ar de forma rápida e segura.
Iremos adicionar ao processo de integração contínua testes unitários, de serviço e funcionais, utilizando ferramentas populares como JUnit, Rest Assured e Selenium (inclusive, para este último, configurando uma suíte para execução de testes paralelizados em um Grid criado pelo Docker). Também faremos análise de qualidade e cobertura de código testado, através do Sonarqube. Veremos o histórico dos testes e avisos sempre que tiver problemas na sua construção.
Além disso, vamos aprender a estruturar nosso processo em duas formas distintas, através de jobs do Jenkins do tipo Freestyle (que podemos configurar tudo através da interface do Jenkins). E também criaremos um processo completo do tipo Pipeline, onde centralizará todo o processo em um script (Jenkinsfile) dinâmico e poderoso.
Contaremos também com o uso de ferramentas importantes e atuais como o Docker (e docker-compose), Spring Boot, Postgres, Tomcat e Selenium Grid.
Então é isso, espero poder te encontrar nas próximas aulas. Até lá! ;)