Boas vidas ao curso de Integração Contínua da Alura, sou Nico Steppat e irei lhe acompanhar nas próximas aulas.
O que aprenderemos ao longo das aulas? O primeiro passo é entender o que a ação contínua tenta resolver, e quais são os ingredientes para chegar a resultados bem sucedidos.
É importante mencionar que o curso não é um laboratório, ou seja, não escolheremos nenhuma ferramenta específica para programar a integração contínua. Mencionaremos, sim, algumas ferramentas e aprenderemos boas e más práticas, mas sem efetivamente utilizar o controle do servidor de integração contínua.
Para esse curso ser proveitoso, é necessário que se tenha alguma noção de desenvolvimento e experiência em projetos. A ementa no nosso curso será, portanto:
Vamos lá?
Nesta aula falaremos de práticas concretas relacionadas à integração contínua e quais são os problemas que ela busca resolver.
O software na atualidade não é criado a partir de um único desenvolvedor, as equipes são multifuncionais que alterarão a mesma base de código.
Cada desenvolvedor terá o seu código local em sua máquina, embora haja um repositório compartilhado. Muitas vezes o desenvolvedor deverá fazer alterações solicitadas pelo cliente, corrigir bugs e assim por diante.
As alterações, inicialmente, são feitas no código local de cada desenvolvedor e só então deverão ser aplicadas no repositório compartilhado. Neste momento é que temos o ponto crítico.
É comum que a sincronização da cópia local com o repositório demore, e então esta etapa é feita normalmente ao fim do processo de desenvolvimento.
No momento em que os desenvolvedores começam a sincronizar os códigos, aparecem os problemas. Trata-se de um evento especial, tanto que em alguns casos existe um desenvolvedor sênior que irá monitorar esse processo.
Como se trata de um processo demorado, outros ambientes ficam desatualizados, como o de teste. Muitas vezes testamos casos que não são mais reais dentro do projeto, por isso devemos conseguir acelerar esse processo.
Integração contínua, em outras palavras, nada mais é que integrar as atualizações frequentemente na base diária.
Temos o tempo, um sprint, em que existem várias interações. No fim desse sprint acontecem as integrações e isso aumenta o risco de problemas, exatamente pela sincronização se dar ao final do ciclo de software.
O código que planejamos localmente e funcionava, pode sofrer incompatibilidade com as alterações de outros desenvolvedores, além de problemas de versões e bugs. Tudo isso irá atrasar o projeto.
O ideal é tenhamos uma integração contínua, pequenas alterações todo o tempo, e assim garantir que o software funcione de maneira adequada. Dessa maneira teremos sempre um feedback rápido.
Segundo a Thought Works, integração contínua é:
"Continouous Integration (CI) is a development practice that requires developers to integrate code into a shared repository several times a day."
Existem várias técnicas e ferramentas que podem ajudar a aplicarmos a CI. Ao longo do curso aprenderemos alguns recursos para de fato utilizar essa metodologia no dia a dia de desenvolvimento.
Antes de passarmos para os modelos de integração, discutiremos brevemente sobre os VCS, Modelos de controle de versão.
Em uma equipe de desenvolvimento, precisaremos de uma ajuda para sincronizar e manter o histórico do código, de maneira concreta utilizamos ferramentas como Git e SVN.
A integração contínua não possui necessidade de muitas ferramentas, em tese, mas alguns auxílios que são padrão em práticas de desenvolvimento são requiridos.
O Git é o mais popular em integração hoje em dia, mas não precisamos utiliza-lo, basta que tenhamos algum modelo de controle de versão de nossa escolha.
A ferramenta em si não importa, mas o que devemos inserir em nosso sistema de controle? De maneira geral, deve conter tudo aquilo que é necessário para a construção do projeto.
Devemos definir uma formatação de código para a equipe. Para começarmos um projeto é necessário fazer o clone - a cópia local - e o comando unificado.
Não significa que devemos comitar o artefato de construção, ou seja, no caso de um desenvolvedor Ruby ou Gem não deveria estar dentro do repositório, o mesmo ocorre no mundo Java. Resultados da construção do software não são comitados como como gem, jar, image e modules.
Sabemos o que comitar e o que não comitar, então seguiremos estudando os modelos de repositório que exitem no mercado.
O curso Integração Contínua: mais qualidade e menos risco no desenvolvimento possui 112 minutos de vídeos, em um total de 41 atividades. Gostou? Conheça nossos outros cursos de Builds em DevOps, ou leia nossos artigos de DevOps.
Matricule-se e comece a estudar com a gente hoje! Conheça outros tópicos abordados durante o curso:
Impulsione a sua carreira com os melhores cursos e faça parte da maior comunidade tech.
1 ano de Alura
Assine o PLUS e garanta:
Formações com mais de 1500 cursos atualizados e novos lançamentos semanais, em Programação, Inteligência Artificial, Front-end, UX & Design, Data Science, Mobile, DevOps e Inovação & Gestão.
A cada curso ou formação concluído, um novo certificado para turbinar seu currículo e LinkedIn.
No Discord, você tem acesso a eventos exclusivos, grupos de estudos e mentorias com especialistas de diferentes áreas.
Faça parte da maior comunidade Dev do país e crie conexões com mais de 120 mil pessoas no Discord.
Acesso ilimitado ao catálogo de Imersões da Alura para praticar conhecimentos em diferentes áreas.
Explore um universo de possibilidades na palma da sua mão. Baixe as aulas para assistir offline, onde e quando quiser.
Acelere o seu aprendizado com a IA da Alura e prepare-se para o mercado internacional.
1 ano de Alura
Todos os benefícios do PLUS e mais vantagens exclusivas:
Luri é nossa inteligência artificial que tira dúvidas, dá exemplos práticos, corrige exercícios e ajuda a mergulhar ainda mais durante as aulas. Você pode conversar com a Luri até 100 mensagens por semana.
Aprenda um novo idioma e expanda seus horizontes profissionais. Cursos de Inglês, Espanhol e Inglês para Devs, 100% focado em tecnologia.
Transforme a sua jornada com benefícios exclusivos e evolua ainda mais na sua carreira.
1 ano de Alura
Todos os benefícios do PRO e mais vantagens exclusivas:
Mensagens ilimitadas para estudar com a Luri, a IA da Alura, disponível 24hs para tirar suas dúvidas, dar exemplos práticos, corrigir exercícios e impulsionar seus estudos.
Envie imagens para a Luri e ela te ajuda a solucionar problemas, identificar erros, esclarecer gráficos, analisar design e muito mais.
Escolha os ebooks da Casa do Código, a editora da Alura, que apoiarão a sua jornada de aprendizado para sempre.