前言 8种CI/CD工具 交付速度固然重要,但交付质量更是重中之重,以下几种工具,可以帮助团队提高代码质量以及合规性等。 在快速交付和频繁交付的同时,确保交付质量,是Node.js团队遇到的最棘手的问题。 其实保持快速交付,频繁交付的部分秘笈是大量使用自动化。创建整个自动化的生态系统,能实现快速交付并及时地避免很多问题发生。开发自动化过程中的关键一环,是大量采用持续集成和持续交付,即——CI/CD。 本文将使用稍微不同的方法和分享一些小众的工具,这些工具对推进在CI/CD阶段的项目生命周期管理非常有用。 CodeShip 构建系统 CodeShip是一个简单优雅且适合中小规模开发团队的CI/CD平台。部署快,易损耗、成本低。易用性比肩Travis,而更胜一筹的是集成了相当数量的选项,可以根据自身的工作流程和开发工具定制化CI/CD工作流。 如果使用公有云(Azure、GCP或AWS——都有相关文档)的小团队想快速地把CI/CD工作流集成到工作流程中,CodeShip是一个不错的选择。当然,也可以考虑CircleCI或MagnumCI作为替代方案。 CodeFresh 构建系统 奥斯汀的DockerCon大会上发现一个很有意思的工具——CodeFresh。简单地说,它纯粹为Docker镜像提供CI/CD工作流。 虽然CodeFresh不是典型的CI/CD平台,但它提供了一种有趣的应用场景,在容器上使用CI/CD从而促进Docker,Kubernetes和云原生的发展前景。 Bamboo 构建系统 Bamboo是来自于Atlassian的CI/CD工具,具有开箱即用的特性,可在硬件上运营。Bamboo是一个聚焦企业级的解决方案,并且包含具有极强竞争力的特性、定价和技术支持等。可以部署在大规模生产环境中。 如果开发团队使用了Atlassian相关技术和产品,那么Bamboo是最佳选择。她还提供大量的集成功能,稍作修改配置就能达到团队理想的工作流程。 GitLab 版本管理中的CI/CD GitLab平台针对CI/CD做了一些超赞的功能。在集成GitHub后,几乎所有的CI/CD工具无论是免费的开源的或者不免费开源的都把集成GitLab作为最基本的功能特性。 GitLab在短时间内做出了一系列精细的CI/CD功能特性,可以从官网免费下载和使用,且内置了企业版。所以如果使用GitLab作为版本控制工具的话,也能快速地把CI/CD系统运行起来。 BitBucket 版本管理中的CI/CD 上面提到过Atlassian的Bamboo构建系统,实际上Atlassian在BitBucket上也集成了CI/CD,称作工作流(Pipelines) 。简单地说,工作流是BitBucket针对CI/CD的SaaS解决方案,如果BitBucket也是工具集成的一部分,那么工作流是尝试把CI/CD整合到工作流程最简单的开始。 GitHub’s Integration Library 版本管理中的CI/CD 最近在做研究的时候才发现都快忘了,GitHub的一个系统集成库也可以尝试CI/CD功能。 Azure 云端CI/CD Azure发展很快,其可以对接任意CI/CD平台的支持。CodeShip和CircleCI是原生整合在Azure理的功能,且微软提供针对CI/CD以及基于Jenkins、DC/OS的Azure容器服务使用指南。 微软对于CI/CD,Node.js和Azure容器服务都做了极好的工作,可快速地定制出特定技术栈场景下部署的CI/CD,实现应用与生产的无缝对接。 Heroku 云端CI/CD Heroku也提供了一种有趣的CI/CD工具——Flow。Flow让你设置的工作流(这里的工作流不同于之前提到的BitBucket的工作流),它可以运行测试工作流程,启动测试应用,这些都能相对轻松地启动和回滚,并集成在GitHub中用以完成部署请求和部署状态。 Flow是Heroku平台的完美延伸。它能够快速启动,正如Heroku一如继往擅长的那样,把这种能力延伸到CI/CD工作流程中。(数人云原创)
|