对我关于"持续集成与持续交付/部署有何关系?“的问题的公认回答也解释了连续交付和持续部署之间的细微差别。这似乎与以下问题的答案有关:“您希望如何部署到生产中,而这些是(独占的)选项:
我无法想象在DevOps墙的另一边会有一个可怜的“操作员”,他将不得不做一些与“手册”的意思相对应的事情.我的问题:
发布于 2017-03-12 15:41:00
就我个人而言,我认为将软件分发给目标只是部署的中间步骤--仍然需要安装/激活该软件才能完成部署。
对我来说,当要部署的软件创建并可供部署(即用于分发、安装和激活)时,交付(如连续交付)停止。
因此,要回答您的第一个问题:不,我不认为发行版和安装反映了区分连续交付和连续部署的手动步骤。
是的,在一些(希望是罕见的)情况下,人工步骤只是部署到生产中的最终人工决定,反映了在流程自动化方面的文化不信任,以及让人对部署决策进行重复检查和签名(从而承担责任)的精神慰藉,即使该决定完全基于一种可以自动化的算法(比如计算通过/失败测试结果)。
但是总的来说,它仅仅反映了这样一个事实,即在生产中执行部署的决策并不仅仅是自动化算法的结果。以下是一些这样的例子:
因此,我不会简单地把手动步骤看作是一个实现问题。
发布于 2017-03-12 21:02:40
另外一个考虑因素是,如果您发布的是您期望其他项目使用的东西,deploy也具有“供其他人使用的发布”的含义。
考虑将库部署到公共工件存储库的工作流。流程的这一部分可能是部署另一个组件的一部分,该组件在构建时需要该工件,也可能只是对公共库的更新。但是,无论如何,对于这个工件来说,它的生命周期并不一定以供其他人使用而结束,但是将该工件部署到工件存储库可能是开发人员在决定削减新版本和其他人能够安全使用新版本之前工作的最后阶段。
https://devops.stackexchange.com/questions/494
复制相似问题