O que é CI/CD?

CI/CD, ou integração contínua/entrega ou implantação contínua, é uma prática de desenvolvimento de software habilitada pela automação. Atualizações frequentes e confiáveis aceleram os ciclos de lançamento por meio da entrega contínua de código.

CI/CD explicados

CI/CD é um termo abrangente que cobre várias fases do DevOps. CI (integração contínua) é a prática de integrar alterações de código em um repositório várias vezes ao dia. CD tem dois significados: a entrega contínua automatiza as integrações de código, enquanto a implementação contínua libera automaticamente as compilações finais para os usuários finais. Os testes frequentes de CI/CD reduzem erros e defeitos de código, tornando-os essenciais para todo fluxo de trabalho de DevOps fluxo de trabalho.

 

Gerenciamento de código-fonte

Integração contínua (CI)

CI é uma prática recomendada de DevOps e um estágio no ciclo de vida de DevOps em que os desenvolvedores fazem check-in de código em seu repositório de código compartilhado, geralmente várias vezes ao dia. Idealmente, sempre que isso acontece, uma ferramenta de build automatizada verifica o check-in ou a ramificação para garantir que não haja erros e que esteja pronto para entrar em produção. O principal benefício é que os problemas geralmente são detectados cedo, antes que se transformem em problemas maiores.

Praticar a CI significa integrar pequenos subconjuntos de mudanças em um período de tempo mais curto em vez de atualizações substanciais que demoram mais e com menos frequência. Automatizar fluxos de trabalho para teste, mesclagem e check-in de alterações em um repositório compartilhado significa que as equipes podem fornecer códigos mais limpos em um ritmo mais rápido. Um código mais limpo significa validação mais rápida, versões mais limpas e um pipeline de desenvolvimento mais eficiente e mais fácil de dimensionar.

 

Integração contínua (CI)

CI é uma prática recomendada de DevOps e um estágio no ciclo de vida de DevOps em que os desenvolvedores fazem check-in de código em seu repositório de código compartilhado, geralmente várias vezes ao dia. Idealmente, sempre que isso acontece, uma ferramenta de build automatizada verifica o check-in ou a ramificação para garantir que não haja erros e que esteja pronto para entrar em produção. O principal benefício é que os problemas geralmente são detectados cedo, antes que se transformem em problemas maiores.

Praticar a CI significa integrar pequenos subconjuntos de mudanças em um período de tempo mais curto em vez de atualizações substanciais que demoram mais e com menos frequência. Automatizar fluxos de trabalho para teste, mesclagem e check-in de alterações em um repositório compartilhado significa que as equipes podem fornecer códigos mais limpos em um ritmo mais rápido. Um código mais limpo significa validação mais rápida, versões mais limpas e um pipeline de desenvolvimento mais eficiente e mais fácil de dimensionar.

 

Integração contínua (CI)

CI é uma prática recomendada de DevOps e um estágio no ciclo de vida de DevOps em que os desenvolvedores fazem check-in de código em seu repositório de código compartilhado, geralmente várias vezes ao dia. Idealmente, sempre que isso acontece, uma ferramenta de build automatizada verifica o check-in ou a ramificação para garantir que não haja erros e que esteja pronto para entrar em produção. O principal benefício é que os problemas geralmente são detectados cedo, antes que se transformem em problemas maiores.

Praticar a CI significa integrar pequenos subconjuntos de mudanças em um período de tempo mais curto em vez de atualizações substanciais que demoram mais e com menos frequência. Automatizar fluxos de trabalho para teste, mesclagem e check-in de alterações em um repositório compartilhado significa que as equipes podem fornecer códigos mais limpos em um ritmo mais rápido. Um código mais limpo significa validação mais rápida, versões mais limpas e um pipeline de desenvolvimento mais eficiente e mais fácil de dimensionar.

 

Integração contínua versus entrega contínua

Entrega contínua

A entrega contínua segue a CI, e você pode pensar nisso como uma fase de ponto de verificação no pipeline de desenvolvimento antes que o produto final seja lançado ou entregue aos clientes. Depois que as alterações de código forem validadas, elas são entregues automaticamente ao repositório. 

Com a entrega contínua, o objetivo é manter os conjuntos de alterações pequenos o suficiente para que nenhuma atualização na build principal comprometa o status do produto final como "pronto para produção" antes que ele esteja pronto para lançamento. O produto final pode conter pequenos erros, mas nada substancial o suficiente para comprometer a experiência do usuário.

Praticar a entrega contínua significa que os desenvolvedores podem gastar menos tempo testando internamente, pois a prática garante que apenas o código estável chegue à fase de entrega em primeiro lugar. Isso faz com que a detecção de bugs seja um processo mais simples, o que acelera o tempo de resolução.

Benefícios da CI/CD

Iteração rápida

A adoção de práticas de CI/CD como parte do ciclo de vida de DevOps acelera o desenvolvimento automatizando o trabalho manual de validação e implantação de alterações na base de código.

Código mais limpo

O check-in de várias pequenas alterações ao longo do dia reduz substancialmente o risco de erros de quebra de build serem introduzidos em seu código-fonte.

Correções de bugs mais rápidas

Mesclar conjuntos de alterações menores com mais frequência com CI/CD torna mais fácil identificar erros de código e corrigi-los antes que se tornem um problema maior.

Ciclos de feedback menores

A CI/CD ajuda a encurtar os ciclos de feedback, um princípio essencial de DevOps , porque mudanças menores e iterativas são mais fáceis de integrar, testar e implantar.

Colaboração melhorada

A CI/CD traz clareza ao trabalho definindo processos e cronogramas para confirmações de código e lançamentos de build. Com objetivos mais claros, as equipes podem se mover com maior agilidade.

Clientes mais felizes

Como as builds estão sempre prontas para lançamento com a CI/CD, os clientes experimentam menos interrupções de serviço e seus feedbacks podem ser integrados muito mais rapidamente.

Leituras semelhantes

Explore mais recursos para aprender sobre CI/CD e outras ferramentas e processos de DevOps.

Agile versus DevOps

O Agile e DevOps têm os mesmos objetivos: entregar valor ao cliente com cronogramas regulares de lançamento , mas diferem ligeiramente em sua abordagem. Veja como eles podem trabalhar juntos.

Benefícios do DevOps

A implementação de práticas de DevOps pode otimizar seu pipeline de desenvolvimento e deixar sua equipe e seus usuários mais felizes. Saiba mais sobre como o DevOps pode te ajudar.

Entenda o gerenciamento de código-fonte

O gerenciamento de código-fonte (SCM) ajuda equipes a trabalharem rapidamente e colaborarem com eficiência. Aprenda tudo o que você precisa saber sobre ferramentas de controle de versão, quando usá-las e como funcionam.

Solução de CI/CD da Unity

Itere rapidamente e aproveite o poderoso gerenciamento e automação de código-fonte para seu projeto com as soluções de CI/CD do Unity. Escolha o Unity Cloud Build para trabalho distribuído ou dimensione sua capacidade de build local com o Unity Build Server.

CI/CD Frequently asked questions

Is agile the same as CI/CD?

An agile workflow and CI/CD are related, however, they are not the same! They describe completely different aspects of the software development pipeline. Agile development, refers to the process or methodologies for managing workflows, meeting cadences, and team organization in software development. An agile methodology embraces change while accelerating delivery by listening and responding to customer needs and involving them in each stage of the development process.

CI/CD relies on automation to remove the human elements that create bottlenecks in releasing and improving the software. In both CI and CD testing is automated throughout the pipeline and is done frequently to minimize the costs and time it takes to remediate defects.

 

How often should you be deploying to production with continuous deployment?

With CI/CD, releases should always be frequent to avoid future problems and assure your software is always in a releasable state - typically deploying multiple times a day. A common assumption with CI/CD teams should be implementing "constant" releases, however, this is not always the case. Your release cycle can vary widely depending on your product, your builds, and other factors you might want to take into consideration such as:

Is it a critical or minor fix?

Are you tracking regression counts from build to build?

Is there a QA team put in place?

Does the code base have unit tests?

Are there any code duplications?

These are just a few examples of aspects to consider when thinking about a release strategy and pipeline, but it differs drastically from team to team. Different products require different approaches.

Is continuous deployment worth it?

There is no one size fits all answer to this question. Before investing in continuous deployment a business must first assess what the biggest risks are of their product and then determine the tradeoffs in how you want to deploy software. The success of your product is dependent on being able to quickly iterate, get feedback from your customers, and continue to make changes. Continuous deployment will be highly impactful and profitable if you are prioritizing shortening feedback loops and building a highly responsive business. However, if your business does not have many customers then the benefits of implementing increments of deployment will add less value and more costs. The staging environment you choose to deploy ultimately depends on your business needs, workflow, and budget.

Does continuous delivery encourage configuration as code?

Continuous delivery does encourage configuration because it continuously makes changes to the original code in the configuration. This ensures that the configuration stays up with code errors that may occur over time.

Usamos cookies para garantir a melhor experiência no nosso site. Visite nossa página da política de cookies para obter mais informações.

Eu entendi