CI/CD Continuous Integration/Continuous Delivery, funciona como uma automação no ciclo de vida do desenvolvimento de uma aplicação, desenvolvida por uma equipe, que visa aumentar a qualidade e segurança nas mudanças e alterações do projeto. Por isso esse conceito está muito ligado com metodologias ágeis. Outro nome muito utilizado para CI/CD é “Pipelines”.
Aprenda mais sobre estes conceitos a seguir!
CI – Integração Contínua
Integração contínua é quando as alterações do código de uma aplicação são desenvolvidas, testadas e consolidadas com frequência em repositório compartilhado. Assim podemos evitar conflitos em ramificações do projeto.
Quando o desenvolvedor envia as alterações para o repositório deve ser iniciada de forma automática a compilação e verificação dos pacotes, verificação de código e falhas de segurança, e a aplicação da camada de testes, em caso de falhas, é reportado para a equipe que faz parte do projeto, e em caso de sucesso a integração foi bem sucedida. Lembrando que nenhuma etapa é obrigatória e podem ser incluídas quantas etapas forem necessárias de acordo com as necessidades de cada projeto.
CD – Entrega Contínua
Entrega e ou Implantação contínua, é a automatização da geração de versão e ou a consolidação das alterações em um ambiente produtivo, esse passo pode ser implantado de diversas formas e deve ser realizado após a integração contínua. Com a automação desse processo podemos evitar várias falhas que são comuns quando aplicadas manualmente.
Gitlab-CI
Gitlab-CI é uma das ferramentas que podemos utilizar para a configuração e aplicação das pipelines. Com um simples scripts podemos executar todas as camadas necessárias para validar o projeto.
Para iniciar o CI em um projeto do Gitlab precisamos apenas criar um arquivo no repositório com o nome de gitlab-ci.yml e realizar um “commit”, exemplo do conteúdo do arquivo:
stages:
– test
hello:
stage: test
services:
– bash
script:
– echo ‘Hello World’
Depois disso no menu de CI/CD->Pipelines:
É possível ver a job que foi executada:
Toda a documentação está no portal do próprio gilab: https://docs.gitlab.com/ee/ci/quick_start/.
CI-kool
Se você já utiliza kool-dev no desenvolvimento de um projeto já montamos alguns scripts para facilitar a aplicação do Gitlab-ci no seu projeto: https://ci.kool.dev/laravel/gitlab/. Esses scripts são específicos para um projeto que utiliza Laravel, mas podem ser facilmente adaptados para qualquer framework PHP.
Para saber sobre o kool acesse: https://kool.dev/.
No geral, quando surge a necessidade de trabalhar em uma equipe grande em um determinado projeto, é interessante que adotem o uso do CI/CD, uma vez dado o fluxo de trabalho acelerado e a facilidade de integração dos novos códigos inseridos. Além disso, há a possibilidade de ter seu ambiente de produção ativo em uma parte do repositório do projeto, em atualização segura constante. O CI/CD estão disponíveis no GitHub(Github-actions) e também no GitLab(Gitlab-ci). Portanto, realmente vale muito a pena aprender mais sobre essas ferramentas que irão elevar em outro degrau o seu desenvolvimento.
Confira o Manual do Dev sobre CI/CD no Fireplay
Conheça o redator desse conteúdo
Jean Michel Leite – Formado em Ciência da computação Anhanguera Bauru-SP, desenvolvedor full stack na Firework.
Deixe um Comentário