Integração e Entrega Continua com Git, Jenkins, Nexus e Sonar

Sobre o curso

Serão abordadas técnicas para realizar implantações automatizadas nos mais diversos tipos de ambientes (desenvolvimento, homologação e produção).
“Nossa maior prioridade é satisfazer o cliente, sendo uma entrega parcial ou contínua” diz o Manifesto de Desenvolvimento Ágil com relação a entrega de Software. Para que isso seja possível é importante estruturar uma Pipeline de Integração e Entrega Contínua (CI/CD). Este curso ensina você a montar um ambiente de CI/CD usando soluções Open Source independente da linguagem de programação que o software foi desenvolvido usando exemplos em Java, Net e PHP.

Após este curso o aluno estará apto a:

  • Definir o fluxo de desenvolvimento de um software
  • Implantar ambientes de integração e entrega automatizados
  • Difundir de modo colaborativo os princípios e boas práticas de integração contínua
  • Boas práticas na Codificação de Software
  • Utilizar o GIT e Gitlab para versionamento de Código
  • Configurar o Jenkins aplicando o Continuos Delivery
  • Integrar softwares como Maven, Sonatype Nexus, SonarQube ao Jenkins promovendo uma Integração Contínua completa
  • Deploy Contínuo no Wildfly
  • Aplicar metodologias Agile, Lean e ITIL alinhadas ao conceito DevOps
  • Planejar - com foco em DevOps - requisitos para projetos de desenvolvimento
  • *Ao final do Curso o aluno levará para casa um ambiente funcional de desenvolvimento de software com Integração, Entrega e Deploy contínuo para servir de modelo ao implementar em seu ambiente
  • Gerenciamento do ciclo de vida completo dos aplicativos e serviços, incluindo as condições do término do ciclo (end of life)

Conteúdo Programático

Definições

  • O que é DevOps?
  • O que é Integração Contínua?
  • O que é Entrega Contínua?

Desenvolvimento Ági

  • Conceito
  • Princípio INVEST
  • Relação do desenvolvimento ágil com integração contínua

Git e Gitlabil

  • História do Git
  • Vantagens em sua utilização
  • Criando um repositório Git
  • Realizando commits
  • Estratégia de Branchs com base no ciclo de desenvolvimento
  • Criação de tags
  • Git checkout e Git reset
  • Realizando merge
  • Resolvendo conflitos
  • Repositórios remotos com Gitlab
  • Push e Pull para repositórios remotos
  • Entendo e utilizando o .gitignore
  • Hooks e Webhooks
  • Instalação do Gitlab
  • Funcionalidades do Gitlab

Testes Automatizadosil

  • Importância dos testes automatizados na cultura DevOps
  • Testes Unitários (JUnit / PhpUnit, MSTest)
  • Testes de Integração (Codeception)
  • Testes de Aceitação Automatizados (Selenium)

Continuos Integration (CI) e Continuos Delivery (CD)i

  • O servidor Jenkins
  • O que é?
  • Vantagens
  • Plataformas suportadas
  • Instalação
  • Utilização de plugins
  • Integração com Git e Gitlab
  • Integração com Maven
  • Integração com Sonatype Nexus
  • Armazenamento de artefatos como parte do fluxo de desenvolvimento
  • Integração com SonarQube
  • Inspeção de código como parte do fluxo de desenvolvimento
  • Configuração de notificações
  • Feedback contínuo
  • Deploy contínuo
  • Boas práticas de integração contínua
  • Criação de Jobs
  • Permissionamento de usuários
  • Execução de testes unitários
  • Execução de testes de integração
  • Execução de testes de qualidade
  • Integração contínua na prática
  • Finalizando uma história
  • Corrigindo erros na build
  • Verificando a entrega
  • Deploy contínuo na prática
  • Integração com Git
  • Deployment do release em ambiente Staging
  • Deploy em produção após aprovação da entrega no ambiente de staging

Database Continuous Deliveryi

  • Como tornar as alterações no banco de dados (criações, deleções de tabelas) parte integrante do ambiente de continuos delivery
  • Conhecendo o Flyway e Phinx
  • Automatização do processo de modificação no banco de dados com Migrations.
  • Revertendo uma alteração feita na base de dados

SonarQube

  • Introdução
  • Pré-requisitos
  • Integração com Maven
  • Integração com Jenkins
  • Como utilizar em projetos que não são baseados no Maven
  • Entendendo seu conceito de regras
  • Corrigindo Bugs
  • Melhoria contínua de código
  • Teste de qualidade

Sonatype Nexus

  • Porque utilizar?
  • Instalação
  • Linguagens e plataformas suportadas
  • Boas práticas

Diferenciais deste Curso

  • A Maioria dos cursos no mercado aborda somente o Jenkins porém na 4Linux o aluno verá Sonatype Nexus, SonarQube e Gitlab
  • A 4Linux é responsável pela implementação de ambiente de integração contínua em grandes instituições bancárias e empresas de grande porte, toda a experiência do instrutor será utilizada neste curso
  • Não restrito a Desenvolvedores e Sysadmins. Atende a qualquer profissional que entenda os conceitos de desenvolvimento de software como servidor de controle de versão, ciclo de vida, deploy, qualidade de código e desenvolvimento em equipe
  • *Único Curso do mercado que ensina de forma prática todo o fluxo de desenvolvimento e implantação de um software até o seu ambiente de produção usando exemplos reais em Java, PHP e .Net

Pré-requisitos

  • O aluno precisará estar familiarizado com os conceitos essenciais de desenvolvimento de um software para ter um melhor aproveitamento do curso.
  • Mesmo o aluno que não tenha domínio do Git - como servidor de controle de versão - conseguirá acompanhar o curso de forma plena. Serão abordados desde conceitos introdutórios, até utilização mais avançada como a resolução de conflitos.

Carga Horária

Curso Presencial: 24H

  • 24 horas

Próximas Turmas

Início Término Horário
18/12/2017 20/12/2017 Diurno - Segunda a Sexta das 08:30h às 17:30h

Temos outras turmas, para mais informações entre em contato com um de nossos vendedores.

Compartilhe esta página

Receba Datas e Valores

Quem irá pagar o seu curso?
Modalidades
Preferência de horário
CAPTCHA
This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.
3 + 8 =
Resolva este problema matemático simples e digite o resultado. Por exemplo para 1+3, digite 4.