continuous integration devops
O que é integração contínua em DevOps?
Até agora, cobrimos a Parte 1 e a Parte 2 deste tópico em nossas sessões anteriores e atualmente na Parte 3.
vantagens do linux sobre o windows 10
Até a parte 2, abordamos o aspecto de pessoas e processos do DevOps, que é colaboração e foco no objetivo comum, mentalidade comum e pensamento comum na equipe que ajuda a atingir os objetivos do DevOps.
Em nosso último tutorial, ganhamos conhecimento sobre Como desenvolver colaboração em DevOps .
Confira => Guia definitivo sobre DevOps
Integração contínua, teste contínuo, implantação contínua e entrega contínua são os principais aspectos técnicos do DevOps.
VÍDEO Parte 3 Bloco 1: Integração Contínua- 12 minutos e 20 segundos
Transcrição:
No ultimoparte, aprendemos práticas de DevOps sob as quais aprendemos quais partes dos princípios ágeis são adotados pelas práticas de DevOps.
Como os objetivos do DevOps são alcançados por meio desses princípios?
Estudamos a importância do controle de versão, automação e entrega de pequenos incrementos de valor aos clientes e seus benefícios.
O que é colaboração no contexto de DevOps e como podemos alcançá-la?
Até agora, falamos sobre as pessoas e o aspecto do processo do DevOps, que é a colaboração e o foco em um objetivo comum e mentalidade comum e pensamento comum dentro da equipe que ajuda a atingir os objetivos do DevOps, agora vamos aprender alguns aspectos técnicos do DevOps , o que torna possível uma liberação de DevOps.
Eles são integração contínua, entrega e implantação contínuas e testes contínuos.
Como parte do bloco 1 da parte 3, vamos primeiro estudar 'Integração contínua'.
O que é integração contínua?
Integração contínua -> CI -> conjunto de processos -> Build pipeline / CI Pipeline
A integração contínua, abreviadamente chamada de 'CI' em DevOps, é um processo importante ou um conjunto de processos que é definido e realizado como parte de um pipeline denominado 'Build Pipeline' ou 'CI Pipeline'.
Sabemos que, na prática DevOps, temos uma única ferramenta de controle de versão para a equipe de Desenvolvimento e Operações, onde o código de todos será depositado como uma base de código mestre e isso permite que a equipe trabalhe em paralelo.
Portanto, integração contínua em DevOps nada mais é do que mesclar código de desenvolvedores individuais na cópia mestre do código para o branch principal onde o controle de versão é mantido. Não há restrição de tempo para a mesclagem de código que precisa acontecer em um dia.
Conforme e quando o desenvolvedor faz check-in de seu código para o controle de versão, imediatamente o processo de inicialização do CI é iniciado.
diferença entre teste de carga e teste de desempenho
O processo de CI inclui,
- Mesclando todo o código do desenvolvedor na linha principal,
- Acionando uma construção,
- Compilar o código e fazer uma compilação e ... por último
- Executando o teste de unidade.
Portanto, a integração contínua é um processo de mesclar todo o código do desenvolvedor em um local central e validar cada uma de suas mesclagens com uma construção e teste automatizados.
Para explicar tecnicamente o que acontece durante a CI,
Haverá um servidor de integração contínua que hospeda o Ferramenta CI , que mantém a vigilância da ferramenta de controle de versão para o check-in do código e, assim que um check-in é encontrado, ele aciona a compilação automatizada, cria e executa o teste de unidade junto com a análise estática do código e um nível básico de teste de segurança automatizado .
As várias ferramentas para realizar os testes automatizados, como Jenkins, TestNG, NUnit para realizar testes de unidade, Sonar para realizar análises estáticas de código e fortificar para realizar os testes de segurança, todas essas ferramentas serão integradas com o pipeline de CI .
Portanto, o pipeline de CI completo é um processo automatizado sem qualquer intervenção manual e executado em alguns segundos ou minutos.
Portanto, o principal benefício do IC é o feedback rápido que os desenvolvedores obtêm dentro de pouco tempo.
- O CI é executado depois que o desenvolvedor verifica o código e lança os resultados em segundos. Assim, permite que os desenvolvedores saibam imediatamente se seu código foi construído ou quebrado com sucesso.
- Também permite que o desenvolvedor saiba se seu código foi integrado com sucesso com o código do outro ou quebrado, que algo que outro membro da equipe fez para uma parte diferente da base de código. Conseqüentemente, o CI faz a análise de código mais rápida e torna as fusões posteriores mais simples e sem erros.
Portanto, a CI é um processo automatizado, onde o build é acionado a cada check-in de código, é compilado, cria o build e os testes de unidade automatizados são executados no build.
Também podemos chamar CI como o COP ou processo de verificação se o código de todos na equipe é um código bom ou válido ou não, porque o processo CI imediatamente compila e constrói com cada check-in e lança erros se for um código ruim, ou não pode ser compilado ou não pode passar pelos casos de teste de unidade automatizados.
Quais são os benefícios do CI?
Em primeiro lugar, todo o processo de CI é um processo automatizado e, portanto, minimiza o erro humano reduzindo as longas mesclagens manuais que induzem a bugs.
Qualquer número de pessoas pode fazer o check-in do seu código, a qualquer hora do dia, sem esperar que outras pessoas concluam sua codificação, esperar até que eles finalizem o check-in e posterior check-in. Portanto, o CI remove a dependência ou remove o tempo de espera de outros check-in.
Assim, os membros da equipe não precisam esperar que os outros membros da equipe concluam seu check-in e, portanto, permitem trabalhar em paralelo.
Cada check-in não para de ser coletado no controle de versão, mas imediatamente é qualificado por meio da formação de build e testes automatizados. Assim, cada check-in é validado na própria raiz para processamento posterior.
Não há chance de perder o código de ninguém porque o código de todos é verificado na cópia mestre com o carimbo de data / hora e, portanto, devidamente registrado.
Todo o processo de compilar, construir e testar é executado em poucos segundos e, portanto, muito mais rápido e mais rápido e economiza muito tempo e, portanto, ajuda a atingir o objetivo do DevOps de entregar mais rápido em um período de algumas horas.
Uma vez que todo o processo de construção e teste é executado de alguns segundos a minutos, o feedback sobre o código dos indivíduos é muito rápido e não precisamos correr para descobrir qual código quebrou a construção ou induziu o defeito, como acontece com cada check-in fornece a saída de sucesso ou falha, indicando a área de falha se houver uma falha.
Portanto, isso permite que o desenvolvedor verifique a pequena quantidade de código de forma intermitente, talvez até mesmo uma única linha de código, para garantir que está livre de erros e faz com que o desenvolvedor tenha confiança de que seu código é bom e também não quebra os outros código. Então, isso no total ajuda a melhorar a qualidade do código.
Vamos fazer uma pausa aqui e vamos pegar a entrega contínua e os testes contínuos nos próximos tutoriais em vídeo.
PREV Tutorial | PRÓXIMO Tutorial
Leitura recomendada
- Entrega contínua em DevOps
- Implantação contínua em DevOps
- Teste Contínuo em DevOps
- Como desenvolver colaboração em equipes DevOps
- Tutorial de DevOps: o guia definitivo para DevOps (mais de 25 tutoriais)
- Recapitulação dos tutoriais em vídeo DevOps
- Colaboração em DevOps
- As 10 principais ferramentas de teste contínuo para teste de DevOps (lista 2021)