Java CI e CD com Testes, Microsoft Azure e Github Actions
What you'll learn
- 10% Teoria e 90% Prática
- Disponibilizar uma Aplicação na nuvem da Microsoft Azure
- Utilizar os principais serviços da Azure como Azure Database, Azure Container Registry, Azure App Services etc
- Integração e Deploy Contínuos envolvendo o Github, o Github Actions e a Microsoft Azure
- Testes unitários com JUnit 5 e Mockito
- Você aprenderá a escrever testes unitários usando Mockito e JUnit 5
- Você aprenderá a escrever testes de integração com Mockito, JUnit 5 e TestContainers
- Aprenda a escrever testes unitários e de integração do zero no estilo BDD (Behaviour Driven Development)
- Aprenda a construir testes para a camada de repositórios
- Aprenda a construir testes para a camada de serviços
- Aprenda a construir testes para os seus controllers (implementar testes para API’s REST)
- Aprenda a fazer testes de integração para aplicações Spring Boot 3
- Aprenda a escrever testes de integração usando o Testcontainers
- Aprenda a escrever testes de integração usando um banco de dados MySQL inicializado com TestContainers
- Testes de Integração com JUnit 5, REST Assured e Testcontainers
- Conceitos básicos de Docker
- Conceitos básicos de Docker Compose
- Como implantar o projeto na nuvem
- Desenvolvedores Spring Boot com conhecimentos de Integração e Entrega Continua estão em ALTA NO MERCADO. Suba de nível na sua carreira!
- Você pode BAIXAR todo o código-fonte e PDF’s otimizando sua APRENDIZAGEM e REVISÃO offline.
Requirements
- Uma conta no Github
- Conhecimentos básicos de SQL e qualquer banco de dados relacional
- É desejável conhecimentos básicos de Java e Spring Boot
- Conhecimentos em Spring Boot podem acelerar o processo de aprendizado
- Noções básicas de Orientação a Objetos podem acelerar o processo de aprendizado
- Estar familiarizado e confortável com o Spring Tool Suite, Eclipse ou uma IDE com o mesmo propósito
Description
Atualmente os Integração e Entrega Contínuas (Continuous Integration and Delivery) são mais do que uma necessidade são uma tendência. Saber implementar um pipeline de Integração e Entrega Contínuas pode significar maiores possibilidades de contratação ou de promoção. Neste treinamento, você aprenderá como implementar Integração e Entrega Contínuas de forma eficiente com Java, Microsoft Azure, Github Actions, Docker, Docker Compose, Test Containers, Rest Assured, Mockito e JUnit 5. Desenvolvedores em todo o mundo estão entregando software com mais rapidez e qualidade graças a essa fantástica stack.
Neste treinamento, você aprenderá as habilidades necessárias para implementar Integração e Entrega Contínuas com Java, Microsoft Azure, Github Actions e Docker. O treinamento ensina os fundamentos centrais dos Integração e Entrega Contínuas tanto na teoria(10%), quanto na prática(90%). Inicialmente iremos conhecer os fundamentos de Continuous Integration e Delivery. Posteriormente conheceremos aspectos relacionados à testes automatizados com JUnit 5 e Mockito.
Em seguida conheceremos o Spring Boot 3 entendendo as principais annotations e como funciona a sua arquitetura. Veremos como aplicar cada uma das tecnologias aprendidas em uma aplicação Spring Boot. Como testar cada uma das camadas do Spring Boot: repositories, services e controllers. Ao final conheceremos os testes de integração com REST-assured e TestContainers e entenderemos como adicioná-los à nossas aplicações passo a passo.
Ao final iremos adicionar o suporte ao Docker e implantar nossa API em uma Azure App Service inicialmente de forma manual. E pra fechar o treinamento com chave de ouro iremos implementar efetivamente um pipeline de integração contínua envolvendo o Github, o Github Actions e um Cluster ECS na Microsoft Azure. Vai ser incrível você commita o código e envia pro Github, o Github Actions constrói as Docker Images e implanta na Microsoft Azure "Automágicamente".
Usaremos ferramentas de desenvolvimento modernas, como Spring Tool Suite e Maven. Como todos os projetos são baseados em Maven, então você está livre para usar qualquer IDE que desejar. Enfim muita coisa legal. Abordaremos, tecnologias como:
Java;
Spring Boot;
Integração Contínua (Continuous Integration)
Entrega Contínua (Continuous Delivery)
Testes unitários e de integração com:
JUnit 5;
Mockito;
REST Assured;
Testcontainers.
As annotations do Spring Boot para suporte à testes unitários;
Dockerização da Aplicação
Implantação na Microsoft Azure
Integração Contínua na Microsoft Azure com o Github Actions
Spring Tool Suite e muito mais.
Além de tudo não existem riscos. Após se inscrever no treinamento, se por algum motivo você não estiver satisfeito, a Udemy lhe garante a possibilidade de reembolso por até 30 dias (com base na Política de Reembolsos da Udemy). Então você não tem nada a perder.
Se você está pronto para aprender a implementar um pipeline de Integração e Entrega Contínuas de forma eficiente e estar preparado pra vaga dos sonhos em pouco mais de 18 horas a partir de agora? Clique no botão "Comprar agora" e comece imediatamente!
Te vejo lá!
Who this course is for:
- Desenvolvedores em início de carreira e que precisam aprender a Integração e Entrega Contínua
- Esse curso é indicado para desenvolvedores e engenheiros de software
- Desenvolvedores front-end que desejam se tornar fullstack
- Desenvolvedores front-end que desejam se tornar fullcycle
- Quem já tentou outros tutoriais sobre Integração e Entrega Contínua e descobriu que eles eram muito lentos, desatualizados e chatos!
Instructors
See my biography in English below.
Eu sou Leandro Costa, analista de sistemas e desenvolvedor, bacharel em Sistemas de Informação com pós-graduação em Engenharia de Software. Trabalho a mais de 11 anos como desenvolvedor back-end e sou um entusiasta apaixonado pela área. Em todos esses anos eu errei bastante, aprendi muito com esses erros. Por isso sei o que você precisa aprender e com o que não deve perder seu tempo para ter uma carreira bem-sucedida na área de tecnologia.
Comecei minha carreira com manutenção de computadores, impressoras e monitores - arriscava fuçar em tudo que tinha um chip dentro. Comecei a programar em Delphi e logo depois iniciei a faculdade onde me dediquei à aprender Java e GNU/Linux. Como desenvolvedor eu iniciei trabalhando com Delphi, depois Java com JSF e Spring, Groovy, depois AngularJS e me apaixonei por JavaScript. Atualmente trabalho com .NET Core e C# e estou gostando bastante principalmente depois que a plataforma virou Open Source. Já trabalhei em diferentes tamanhos de projetos nacionais e internacionais, em setores como varejo, farmacêutico, atacadista, marketing, governo, ERP e fintechs. Participei de projetos Agile, "Fake Agile", Cascata, RUP e claro me deparei com muito Extremme Go Horse e confesso que tive que fazer algumas gambiarras ao longo da carreira.
Nos diferentes projetos em que trabalhei utilizei diversas tecnologias como Java, Spring, Hibernate, JSF, C#, Entity Framework, ASP.NET, Groovy, Grails, JavaScript, AngularJS, Docker, Docker Compose, MySQL, Postgrees, SQL Server, Oracle dentre outras.
Atualmente tenho como objetivo ajudar você através de treinamentos eficientes e práticos na área de desenvolvimento, Agile, TDD, Integração Contínua, Docker, Clean Code e API's (SOA), especialmente RESTful API's. Sou apaixonado por transmitir conhecimentos e contribuir para que as pessoas se desenvolvam e alcancem o melhor de si.
E me sinto muito gratificado em fazer parte da jornada de aprendizado da vida de muitos alunos e por essa razão eu estou empenhando em dar o meu melhor entregando conteúdos cada vez melhores e mais relevantes.
English Biography
I am Leandro Costa, systems analyst and developer, Bachelor of Information Systems with a postgraduate degree in Software Engineering. I've been working for more than eight years as a back-end developer, and I'm a passionate enthusiast for the area. In all these years, I made a lot of mistakes and learned a lot from these mistakes. That's why I know exactly what you need to learn and what you shouldn't waste your time on to have a successful career in the field of technology.
I started my career with the maintenance of computers, printers, and monitors - I risked going through everything that had a chip inside. I started programming in Delphi, and soon after, I started college, where I dedicated myself to learning Java and GNU / Linux. As a developer, I started working with Delphi, then Java with JSF and Spring, Groovy, then AngularJS, and fell in love with JavaScript. I currently work with .NET Core and C #, and I am enjoying it a lot, mainly after the platform became Open Source. I have worked in different sizes of national and international projects in sectors such as retail, pharmaceutical, wholesaler, marketing, government, ERP, and fintech. I participated in projects Agile, "Fake Agile," Waterfall, RUP, and of course, I came across a lot of Extreme go Horse, and I confess that I had to do some "jerry-rigs" throughout my career.
In the different projects I worked on, I used several technologies such as Java, Spring, Hibernate, JSF, C #, Entity Framework, ASP.NET, Groovy, Grails, JavaScript, AngularJS, Docker, Docker Compose, MySQL, Postgres, SQL Server, Oracle, Amazon AWS, Microsoft Azure among others.
Currently, I am collaborating in the learning of people who seek knowledge through efficient and practical training in the area of development, Agile, TDD, Continuous Integration, Docker, Clean Code, and APIs (SOA), especially RESTfull APIs. I am passionate about imparting knowledge and helping people to develop and achieve the best of themselves.
And I feel very gratified to be part of the learning journey of many students' lives, and for that reason, I am striving to give my best by delivering better and more relevant content.
A Erudio Training é uma Escola de treinamentos online de programação criada por profissionais experientes no mercado que se dedicam ao desenvolvimento, gestão ágil de times, testes automatizados, arquitetura e design de software e todo o ciclo de vida do desenvolvimento.
A Erudio Training "nasceu" em 2011, originalmente como um blog sobre as experiências de Leandro Costa no mercado de trabalho. Nesse blog ele abordava temas como desenvolvimento e Agile em uma época em que ninguém falava de Scrum ou outros frameworks Ágeis. Nesse mesmo ano surgiu o canal no Youtube que ia na mesma linha. Nos anos que se seguiram Leandro Costa conciliou o trabalho de analista desenvolvedor e a Erudio Training que naquele momento era apenas um hobby que apenas consumia dinheiro e tempo. Em 2018 houve a virada de chave e a Erudio Training começou a oferecer consultoria e treinamentos em TI.
Na Erudio Training, nós planejamos cuidadosamente cada aula para fornecer informações valiosas com clareza e estrutura. Ao assistir a um vídeo Erudio Training, você perceberá rapidamente o que nos diferencia de outros criadores de cursos. Acreditamos que a melhor forma de aprender é praticando e o nosso objetivo é levá-lo do Zero ao Desenvolvedor Profissional nos assuntos que dominamos. Esperamos que você goste de nossos treinamentos!
Seja bem-vindo ao perfil do Especialista em Atendimento e Apoio ao Aluno da Erudio Training na Udemy!
Como membro dedicado do time da Erudio Training, meu enfoque principal é assegurar o sucesso e a satisfação de nossos alunos ao longo de sua jornada de aprendizado.
Estou à disposição para oferecer auxílio personalizado, orientação e incentivo, ao mesmo tempo que promovo um ambiente positivo e colaborativo para todos os alunos da Erudio Training.
Seu crescimento profissional é nossa máxima prioridade, e estou empenhado em auxiliá-lo a se destacar em seus objetivos educacionais.