A resposta aceita à minha pergunta sobre " Como a integração contínua se relaciona à entrega / implantação contínua? " Também explica a pequena diferença entre entrega contínua e implantação contínua . Parece estar relacionado à resposta a uma pergunta como "Como você deseja implantar na produção, enquanto estas são as opções (exclusivas) para escolher:
- Automático).
- Manual.
Não consigo imaginar que exista um "operador" ruim do outro lado do muro do DevOps, que precisará fazer algo que corresponda ao que quer que esse "manual" signifique ... Minhas perguntas:
- A minha referência (na minha pergunta) a "distribuir" versus "instalar" está próxima de uma possível implementação de tal coisa "manual"? Aqui está uma citação relevante da minha pergunta relacionada:
- distribua para algum ambiente de destino, usando algo como FTP (se as cópias padrão não puderem preencher a lacuna), mas ainda não a ative no destino. É isso 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?
- Quais são as outras implementações possíveis?
continuous-delivery
continuous-deployment
Pierre.Vriens
fonte
fonte
Respostas:
Pessoalmente, considero o
distribution
software como um destino apenas uma etapa intermediária de uma implantação - a instalação / ativação desse software é necessária para concluir essa implantação.Para mim, o
delivery
(como emcontinuos delivery
) para quando o software a ser implantado é criado e disponibilizado para implantação (ou seja, para distribuição, instalação e ativação)Portanto, para responder à sua 1ª pergunta, não, eu não consideraria a distribuição e instalação como um reflexo da etapa manual que diferencia a entrega contínua da implantação contínua.
Sim, em alguns casos (espero que seja raro), essa etapa manual é apenas a decisão humana final para implantar na produção, refletindo a desconfiança cultural na automação de processos e o conforto mental de ter um humano checando e assinando a decisão de implantação (assumindo assim responsabilidade por isso), mesmo que essa decisão seja puramente tomada com base em um algoritmo que pode ser automatizado (como contar os resultados dos testes aprovados / reprovados).
Mas, em geral, simplesmente reflete o fato de que a decisão de executar a implantação na produção não é simplesmente o resultado de um algoritmo automatizado. Aqui estão alguns exemplos desses casos:
Portanto, eu não consideraria a etapa manual simplesmente como um problema de implementação.
fonte
Uma consideração adicional se você estiver publicando algo que espera que outros projetos consumam, a implantação também assume o significado de "publicação para uso de outras pessoas"
Considere um fluxo de trabalho em que você implanta uma biblioteca em um repositório de artefato comum. Essa parte do processo pode ser parte da implementação de outro componente que requer esse artefato no momento da construção ou pode ser simplesmente uma atualização para uma biblioteca comum. Porém, independentemente disso, para esse artefato, seu ciclo de vida não termina necessariamente ao ser disponibilizado para consumo por outras pessoas, mas a implantação desse artefato no repositório de artefatos pode ser o estágio final do trabalho dos desenvolvedores após a decisão de cortar um nova versão de lançamento e antes que outros possam consumir com segurança a nova versão.
fonte