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