Do not speak Portuguese? Translate this site with Google or Bing Translator
Qual é a diferença entre CI e CD?

Posted on: June 24, 2022 11:30 PM

Posted by: Renato

Views: 294

Qual é a diferença entre CI e CD?

 

A integração contínua (CI) é uma prática que envolve desenvolvedores fazendo pequenas alterações e verificações em seu código. Devido à escala de requisitos e ao número de etapas envolvidas, esse processo é automatizado para garantir que as equipes possam criar, testar e empacotar seus aplicativos de maneira confiável e repetível. A CI ajuda a simplificar as alterações de código, aumentando assim o tempo para que os desenvolvedores façam alterações e contribuam para melhorar o software.

Continuous delivery

A entrega contínua (CD) é a entrega automatizada de código completo para ambientes como teste e desenvolvimento. O CD fornece uma maneira automatizada e consistente para que o código seja entregue a esses ambientes.

Continuous deployment 

A implantação contínua é a próxima etapa da entrega contínua. Cada mudança que passa nos testes automatizados é colocada automaticamente em produção, resultando em muitas implementações de produção.

A implantação contínua deve ser o objetivo da maioria das empresas que não são restringidas por requisitos regulatórios ou outros.

Resumindo, CI é um conjunto de práticas executadas enquanto os desenvolvedores estão escrevendo código, e CD é um conjunto de práticas executadas após a conclusão do código .

Como o CI/CD se relaciona com o DevOps?

 

 

DevOps é um conjunto de práticas e ferramentas projetadas para aumentar a capacidade de uma organização de fornecer aplicativos e serviços mais rapidamente do que os processos tradicionais de desenvolvimento de software. A maior velocidade do DevOps ajuda uma organização a atender seus clientes com mais sucesso e ser mais competitiva no mercado. Em um ambiente DevOps, as organizações bem-sucedidas “incorporam a segurança” a todas as fases do ciclo de vida do desenvolvimento, uma prática chamada DevSecOps .

A principal prática do DevSecOps é integrar a segurança em todos os fluxos de trabalho do DevOps. Ao realizar atividades de segurança com antecedência e de forma consistente ao longo do ciclo de vida de desenvolvimento de software ( SDLC ), as organizações podem garantir que detectem vulnerabilidades o mais cedo possível e sejam mais capazes de tomar decisões informadas sobre riscos e mitigação. Nas práticas de segurança mais tradicionais, a segurança não é abordada até o estágio de produção, que não é mais compatível com a abordagem DevOps mais rápida e ágil. Hoje, as ferramentas de segurança devem se encaixar perfeitamente no fluxo de trabalho do desenvolvedor e no pipeline de CI/CD para acompanhar o DevOps e não diminuir a velocidade de desenvolvimento. 

O pipeline CI/CD faz parte da estrutura DevOps/DevSecOps mais ampla. Para implementar e executar com sucesso um pipeline de CI/CD, as organizações precisam de ferramentas para evitar pontos de atrito que retardam a integração e a entrega. As equipes exigem uma cadeia de ferramentas integrada de tecnologias para facilitar os esforços de desenvolvimento colaborativos e desimpedidos.

Quais ferramentas AppSec são necessárias para pipelines de CI/CD?

 

 

Um dos maiores desafios enfrentados pelas equipes de desenvolvimento que usam um pipeline de CI/CD é abordar adequadamente a segurança. É fundamental que as equipes desenvolvam a segurança sem diminuir seus ciclos de integração e entrega. Mover os testes de segurança para o início do ciclo de vida é uma das etapas mais importantes para atingir esse objetivo. Isso é especialmente verdadeiro para organizações de DevSecOps que dependem de testes de segurança automatizados para acompanhar a velocidade de entrega. 

A implementação das ferramentas certas no momento certo reduz o atrito geral do DevSecOps, aumenta a velocidade de liberação e melhora a qualidade e a eficiência.

Gitlab

Você ainda não conhece o Gitlab? Verifique https://about.gitlab.com/.

O Gitlab é uma aplicação muito interessante, com várias ferramentas e recursos para ajudar e suportar os desenvolvedores em seu processo de DevOps.

“Desde o planejamento do projeto e gerenciamento do código-fonte ao CI/CD e monitoramento, o GitLab é um aplicativo único para o ciclo de vida completo do DevOps.” (gitlab.com)

Você pode ter sua própria instância local (on-premises) ou na nuvem pública ou até mesmo usar a oferta SaaS hospedada pelo GitLab! E acredite, ambos têm uma opção grátis! Verifique https://about.gitlab.com/pricing/.

Algumas citações acima são de https://about.gitlab.com/2016/08/05/continuous-integration-delivery-and-deployment-with-gitlab/, onde você pode encontrar mais informações sobre o que é CI/CD.

No site deles podemos ver a imagem abaixo, que mostra exatamente onde está o CI e o CD em todo o processo e o que está envolvido com cada um deles:

Esta imagem e muitas outras informações sobre o CI/CD e o Gitlab podem ser encontradas em https://docs.gitlab.com/ee/ci/.

Conclusão

CI significa integração contínua e CD pode ser entrega contínua ou deploy contínuo. A entrega contínua ainda precisa de uma interação humana mínima e o deploy contínuo é totalmente automatizado.

O Gitlab é uma das várias soluções que podem ajudar você a configurar o CI/CD.

E você pode estar pensando: é possível ter CI/CD com a linguagem ou plataforma com que eu trabalho? Provavelmente sim! Verifique https://docs.gitlab.com/ee/ci/examples/.

Espero ter te ajudado!

- Fonte:

https://gabriel-faraday.medium.com/o-que-%C3%A9-ci-cd-onde-eu-uso-isso-57e9b8ad8c73

https://www.synopsys.com/glossary/what-is-cicd.html

 


1

Share
About Author

Renato

Developer

Add a Comment
Comments 0 Comments

No comments yet! Be the first to comment

Blog Search


Categories

OUTROS (12) Variados (109) PHP (108) Laravel (116) Black Hat (3) front-end (25) linux (86) postgresql (35) Docker (14) rest (4) soap (1) webservice (6) October (1) CMS (2) node (7) backend (10) ubuntu (41) devops (22) nodejs (5) npm (2) nvm (1) git (4) firefox (1) react (6) reactnative (5) collections (1) javascript (5) reactjs (7) yarn (0) adb (1) solid (0) blade (2) models (1) controllers (0) log (0) html (2) hardware (2) aws (14) Transcribe (2) transcription (1) google (3) ibm (1) nuance (1) PHP Swoole (4) mysql (22) macox (2) flutter (1) symfony (1) cor (1) colors (2) homeOffice (2) jobs (2) imagick (2) ec2 (1) sw (1) websocket (1) markdown (1) ckeditor (1) tecnologia (13) faceapp (1) eloquent (11) query (2) sql (35) ddd (3) nginx (6) apache (4) certbot (1) lets-encrypt (2) debian (9) liquid (1) magento (2) ruby (1) LETSENCRYPT (1) Fibonacci (1) wine (1) transaction (1) pendrive (1) boot (1) usb (1) prf (1) policia (1) federal (1) lucena (1) mongodb (4) paypal (1) payment (1) zend (1) vim (2) ciencia (6) js (1) nosql (1) java (1) JasperReports (1) phpjasper (1) covid19 (1) saude (1) athena (1) cinnamon (1) phpunit (1) binaural (1) mysqli (3) database (33) windows (2) vala (1) json (2) oracle (1) mariadb (2) dev (12) webdev (24) s3 (4) storage (1) kitematic (1) gnome (2) web (2) intel (1) piada (1) cron (2) dba (13) lumen (1) ffmpeg (2) android (2) aplicativo (1) fedora (2) shell (3) bash (2) script (3) lider (1) htm (1) csv (1) dropbox (1) db (3) combustivel (2) haru (1) presenter (1) gasolina (1) MeioAmbiente (1) Grunt (0) biologia (1) programming (20) performance (2) brain (1) smartphones (1) telefonia (1) privacidade (1) opensource (1) microg (1) iode (1) ssh (1) zsh (1) terminal (1) dracula (1) spaceship (1) mac (1) idiomas (1) laptop (1) developer (27) api (1) data (1) matematica (1) seguranca (2) 100DaysOfCode (6) hotfix (1) documentation (1) laravel (2) RabbitMQ (1) Elasticsearch (1) redis (1) Raspberry (3) Padrao de design (4) JQuery (1) angularjs (2) Dicas (12) kubenetes (1) vscode (1) backup (1) angular (1) servers (2) pipelines (1) AppSec (1) DevSecOps (2) rust (1) RustLang (1) Mozilla (1) algoritimo (1) sqlite (1) Passport (1) jwt (1) security (1) translate (1) kube (1) iot (1) politica (1) bolsonaro (1) flow (1) podcast (1) Brasil (1) containers (2) traefik (1) networking (1) host (1) POO (1) microservices (1) bug (1) cqrs (1) arquitetura (1) Architecture (1)

New Articles



Get Latest Updates by Email