Como a integração contínua se relaciona com a entrega / implantação contínua?


20

Aqui está uma citação do conteúdo atual da :

... processo de mesclar cópias de código de trabalho do desenvolvedor para uma base de código compartilhada com frequência para evitar ou minimizar problemas de integração.

OK, entendi. Mas depois há também e , e que é onde eu continuamente se um pouco perdidos:

  • Como a integração contínua se relaciona com a entrega contínua e / ou a implantação contínua , assumindo que em algum lugar ao longo da (s) linha (s) via integrationvocê acabe deliveringem um ambiente de destino onde tudo estará deployed.
  • Qual é a diferença entre entrega contínua e implantação contínua ?

Antigamente, antes do DevOps ser chamado de DevOps, usamos terminologia que poderia ajudar a entender esses novos termos do DevOps, como:

  • promover (ou rebaixar ) algum destino de pré-produção, opcionalmente combinado com algum tipo de processo de regeneração (compila, vincula etc.) para empacotar todos os componentes relacionados em itens executáveis. Isso é o que deve ser semelhante / próximo à integração contínua , ou não?
  • distribua para algum ambiente de destino, usando algo como FTP (se cópias padrão não puderem preencher a lacuna), mas ainda não a ative no destino. Isso é o que deve ser semelhante / próximo à entrega contínua , ou não?
  • instalar (ou ativar ) em algum ambiente de destino, combinado com coisas como ligações, operações de parar / iniciar etc. Isso é o que deve ser semelhante / próximo à implantação contínua , ou não?

Demasiada marcação de marcação dificulta a leitura. Que não traz mais contexto para a pergunta, então eu acho que os Ords pode ser salientado por um sublinhado _markdown_ para facilitar a leitura
Tensibai

1
I edição média é uma dor :) dica para resposta blog.crisp.se/wp-content/uploads/2013/02/...
Tensibai


Respostas:


23

Entrega contínua e implantação contínua levam a integração contínua um passo adiante, adicionando uma etapa de 'implantação à produção' ao processo. A diferença entre entrega contínua e implantação é que, para entrega, essa etapa é feita manualmente e para implantação é automática.

Diferença entre integração contínua, entrega contínua e implantação contínua

Diferença entre integração contínua, entrega contínua e implantação contínua. Imagem copiada do codeproject.com

Se você faz entrega contínua ou implantação contínua é uma opção de implementação. Se você fizer uma implantação contínua, as alterações no código serão implantadas automaticamente após a aprovação dos testes de aceitação. Isso pode ou não ser desejável para o seu produto. Com a entrega contínua, as pessoas podem escolher se uma alteração de código específica é implantada ou não (e possivelmente onde exatamente ela é implantada).

Como a diferença entre entrega e implantação contínuas é pequena e muitas pessoas desconhecem a diferença exata, os dois termos às vezes são usados ​​de forma intercambiável.


Agradável! Mas ... a solução (a sua resposta) a um problema (a minha pergunta), muda o problema ... leia mais ...
Pierre.Vriens

4

Entrega contínua e implantação contínua (CD) são mais ou menos a mesma coisa *. Toda vez que uma mudança é considerada "boa para ir" (testada / verificada), ela deve ser liberada imediatamente. Você pode fazer isso quantas vezes por dia houver trabalho concluído.

A integração contínua (IC) refere-se apenas à mesclagem de código com frequência, para garantir que as ramificações de recursos não fiquem muito distantes da ramificação principal 'principal' e também para que você saiba rapidamente se há algum problema com o código de um perspectiva de integração - ou seja, você quebrou alguma funcionalidade ao alterar as coisas.

Na medida em que eles se relacionam, o CI ajuda bastante na verificação do código para que ele possa ser liberado rapidamente (CD). Você ainda pode obter o CD sem o IC (e vice-versa), mas muitas vezes facilita a vida para integrar seu código cedo e muitas vezes para encontrar problemas mais rapidamente, o que, por sua vez, permitirá que você corrija esses problemas mais rapidamente e, finalmente, entregue seus recursos mais rapidamente!

* Editar: aqui está um artigo discutindo a diferença. https://puppet.com/blog/continuous-delivery-vs-continuous-deployment-what-s-diff A entrega contínua nem sempre significa realmente implantar na produção o tempo todo, mas significa implantação constante em um ambiente semelhante à produção , com a confiança de que essas alterações poderão ir para a produção a qualquer momento, quando a empresa estiver pronta. Na prática, a maioria das pessoas confunde esses termos.


merci! Mas de acordo com o seu "mais ou menos a mesma coisa", realmente? você pode pensar em algo que ilustra alguma nuance?
Pierre.Vriens

Atualizei meu post com uma nota sobre as diferenças, mas acredito que em conversas normais a maioria das pessoas usará esses termos de forma intercambiável.
tayworm

2

Uma certa versão de um produto de software deve primeiro concluir seu estágio de integração antes de poder ser entregue ou implementada.

Para contínua entrega / implantação contínua integração é uma obrigação. Caso contrário, se os eventos de integração concluídos estiverem muito distantes para se qualificarem para o atributo "contínuo", também serão possíveis entregas / implementações (apenas um subconjunto das versões integradas normalmente se qualifica para entregas / implantação).

Atualização: minha resposta apenas sublinha a dependência (relacionamento) entre os CDs de CI e (ambos), a terminologia é muito bem coberta pela resposta do THelper.

O único comentário que eu tenho sobre isso é sobre o uso (sobrecarregado) de deployment. Implantações em ambientes de não produção são uma coisa real. Eles podem até acontecer com bastante frequência - realizados, por exemplo, como parte de vários estágios de teste durante a entrega contínua. Mas isso não faz essas implantações continuous deployments. As implantações contínuas se referem especificamente às implantações no ambiente de produção.


ok, tudo isso ajuda, mas talvez você possa expandir sua resposta com a descrição de entrega e implantação?
Pierre.Vriens

1

Basicamente, a integração contínua faz parte da entrega contínua e da implantação contínua, exceto que as liberações ocorrem automaticamente. Você também pode pensar na entrega contínua como um próximo passo lógico da integração contínua e funciona em todos os ambientes. A integração contínua também ajuda na verificação de artefatos, para que possa ser implementada mais rapidamente. Embora não seja possível ter uma implantação contínua sem integração contínua e seja muito mais fácil detectar bugs com a integração contínua. Todas essas "coisas contínuas" são basicamente sobre a remoção de ações desnecessárias no fluxo de trabalho de desenvolvimento. Mais importante ainda, o CI / CD é importante da perspectiva técnica e comercial. As empresas que não adotam esses princípios de DevOps correm o risco de seguir o caminho dos dinossauros. No ambiente de TI acelerado de hoje, éDevOps ou morra.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.