用对这8种工具,CI/CD其实也没那么难

image 长久以来,持续集成和持续交付(CI/CD)一直都是热点,数人云之前也发布过《如何用Docker实现PHP命令行程序的CI/CD》。

俗话说,工欲善其事必先利其器。今天小数就在这里给大家分享8种CI/CD工具,让你的交付质量和效率更上一层楼~

前言

交付速度固然重要,但交付质量更是重中之重,以下几种工具,可以帮助团队提高代码质量以及合规性等。

在快速交付和频繁交付的同时,确保交付质量,是Node.js团队遇到的最棘手的问题。

其实保持快速交付,频繁交付的部分秘笈是大量使用自动化。创建整个自动化的生态系统,能实现快速交付并及时地避免很多问题发生。开发自动化过程中的关键一环,是大量采用持续集成和持续交付,即——CI/CD。

本文将使用稍微不同的方法和分享一些小众的工具,这些工具对推进在CI/CD阶段的项目生命周期管理非常有用。

CodeShip

image

CodeShip是一个简单优雅且适合中小规模开发团队的CI/CD平台。部署快,易损耗、成本低。易用性比肩Travis,而更胜一筹的是集成了相当数量的选项,可以根据自身的工作流程和开发工具定制化CI/CD工作流。

如果使用公有云(Azure、GCP或AWS——都有相关文档)的小团队想快速地把CI/CD工作流集成到工作流程中,CodeShip是一个不错的选择。当然,也可以考虑CircleCI或MagnumCI作为替代方案。

CodeFresh

image

奥斯汀的DockerCon大会上发现一个很有意思的工具——CodeFresh。简单地说,它纯粹为Docker镜像提供CI/CD工作流。

虽然CodeFresh不是典型的CI/CD平台,但它提供了一种有趣的应用场景,在容器上使用CI/CD从而促进Docker,Kubernetes和云原生的发展前景。

Bamboo

image

Bamboo是来自于Atlassian的CI/CD工具,具有开箱即用的特性,可在硬件上运营。Bamboo是一个聚焦企业级的解决方案,并且包含具有极强竞争力的特性、定价和技术支持等。可以部署在大规模生产环境中。

如果开发团队使用了Atlassian相关技术和产品,那么Bamboo是最佳选择。她还提供大量的集成功能,稍作修改配置就能达到团队理想的工作流程。

GitLab

image

GitLab平台针对CI/CD做了一些超赞的功能。在集成GitHub后,几乎所有的CI/CD工具无论是免费的开源的或者不免费开源的都把集成GitLab作为最基本的功能特性。

GitLab在短时间内做出了一系列精细的CI/CD功能特性,可以从官网免费下载和使用,且内置了企业版。所以如果使用GitLab作为版本控制工具的话,也能快速地把CI/CD系统运行起来。

BitBucket

image

上面提到过Atlassian的Bamboo构建系统,实际上Atlassian在BitBucket上也集成了CI/CD,称作工作流(Pipelines) 。简单地说,工作流是BitBucket针对CI/CD的SaaS解决方案,如果BitBucket也是工具集成的一部分,那么工作流是尝试把CI/CD整合到工作流程最简单的开始。

GitHub’s Integration Library

image

最近在做研究的时候才发现都快忘了,GitHub的一个系统集

Azure

image

Azure发展很快,其可以对接任意CI/CD平台的支持。CodeShip和CircleCI是原生整合在Azure理的功能,且微软提供针对CI/CD以及基于Jenkins、DC/OS的Azure容器服务使用指南。

微软对于CI/CD,Node.js和Azure容器服务都做了极好的工作,可快速地定制出特定技术栈场景下部署的CI/CD,实现应用与生产的无缝对接。

Heroku

image

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