将Spinnaker与Jenkins 2.0作为连续交付工具进行比较
正如我们所知,Jenkins 2.0已经发布,它正在从持续集成(CI)扩展到持续交付(CD)。因此,我想问,与Jenkins 2.0相比,Spinnaker的竞争优势是什么?您选择Spinnaker而不是Jenkins(2.0)Pipeline作为CD工具有几个原因:将Spinnaker与Jenkins 2.0作为连续交付工具进行比较,jenkins,jenkins-pipeline,jenkins-2,spinnaker,Jenkins,Jenkins Pipeline,Jenkins 2,Spinnaker,正如我们所知,Jenkins 2.0已经发布,它正在从持续集成(CI)扩展到持续交付(CD)。因此,我想问,与Jenkins 2.0相比,Spinnaker的竞争优势是什么?您选择Spinnaker而不是Jenkins(2.0)Pipeline作为CD工具有几个原因: Spinnaker包括一个web UI,它可以在多个云环境中实际提供资源。因此,要创建基本资源,如虚拟机、负载平衡器、集群等,您可以从与交付工具相同的UI中执行此操作 如果您的体系结构与Netflix相似,Netflix将其作为其
我们最终选择Jenkins 2.0管道作为CD工具,而不是Spinnaker和其他几个工具 我在Spinnaker的Jenkins集成和Netflix的管道功能方面做了大量工作 Spinnaker从未打算成为端到端构建工具。在管理SCM、运行测试、构建软件包、拥有大量插件等方面,Jenkins会做得更好 Spinnaker努力做好的事情是获取您发布的软件(debian软件包、docker映像或可部署的JAR),并在可预测的、高度可定制的软件部署周期中运行它。换句话说,Spinnaker中的每一项功能都是为了便于进行高可用性、多帐户、多云工件部署而构建的 Spinnaker管道采用以云为中心的视图。我们的大多数管道阶段和API控件都与创建新服务器组和以可预测且用户友好的方式更改现有服务器组有关。当有疑问时,这就是我们优化的情况 我们对云部署的外观有更强烈的看法,在CD管道中处理云部署任务时,我们通常会有一个点击式UI——在群集x中查找映像,禁用此群集,调整服务器组大小,缩小此群集,使此群集占用流量,销毁此旧群集,等等
Jenkins管道功能在我们2年多前开始编写Spinnaker时不可用,因此我们构建了我们需要的功能。我们提供的Jenkins支持源于我们帮助Netflix其他团队在内部构建数千条部署管道的需要。由于Netflix严重依赖Jenkins进行构建和测试,Jenkins工作和Spinnaker阶段之间的过渡非常无缝 Netflix的一些团队不使用Spinnaker管道功能,而是在Jenkins作业中使用Spinnaker API作为部署到AWS的快捷方式。如果您使用的是Jenkins管道或类似的CD工具,Spinnaker会使您的部署阶段非常灵活 我们的团队也喜欢Spinnaker将Jenkins作业分解为围绕一个应用程序的原子性、可重用任务的方式。没有部署到云端的团队使用Spinnaker,因为我们的管道比Jenkins world更适合他们的需求
詹金斯的管道相当整洁。我认为Spinnaker永远不会完全取代Jenkins和它所做的无数事情。我们的目标是使“部署到云”步骤更简单、更具可扩展性。选择使用一个而不是另一个,一起使用,或者根本不使用,取决于您 我们使用Maven将整个代码库与配置、属性(即GitHub中的所有版本)一起打包,并从中创建RPM。随着这个流程的结束,我们触发AWS或任何其他云中的Spinnaker管道来启动CD部件 Spinnaker在给定的CD范围内是非常独特的
但我必须说,我们只在以云为中心的部署中使用Spinnaker Thanx Neil解释得很好:)“一切都是由一个groovy脚本驱动的,因此它是真正的代码配置。它允许简单的流/逻辑/控制,这在其他CD工具中是不可能的(或者至少是很容易的)。-这就是原因所在