7 个方便的 Node.js CI/CD 工具

2017 年 5 月 15 日起, Scott 会陆续翻译一些不错或者有趣的 Node.js 文章,干货湿货一起撸,帮助 Node.js 爱好者更好的了解 Node.js 这个技术所带来的生产力和职业竞争力。

另外 Scott 也录制了 一些 Node.js 的实战学习视频,有免费的有收费的,大家可以自取所需,下面进入正题:

本文来自 nodesource 官方博客,作者 Tierney Cyren ,文章发表于 2017.4.27 7 Convenient CI/CD Tools for Your Node.js Projects

译文如下:

作为现代开发者,我们拥有越来越多的工具集。语言、平台、工具和系统——还有更多的其他更多工具来帮助我们开发、构建和部署代码。

不过,无论哪一步,我们都希望确保代码的质量,不要出现错误、漏洞和其他各种问题,因为这些问题会导致我们无法实现预期目标。 其中有一套系统可以帮助我们更轻松的实现持续集成和持续部署,也称之为 CI / CD。

CI / CD 在让代码干净,可维护和生产环境就绪方面迈出了巨大的一步,它可以帮助我们发现错误,花费更多的时间编写代码,减少修复 Bug 的时间。

今天,我会针对你的 Node.js 项目,进行一个 CI / CD 系统集成使用的快速介绍。 这里面的一些核心工具能帮助你无论是开源项目,还是生产环境下的应用,通过 CI/CD 构建运行的更健壮和更有弹性。

构建基础:CI / CD 系统

免费的开源 CI - Travis CI

Travis-CI 是一个相当快速高效的 CI 系统。 对于开源项目来说,它 完全 免费,对于你的 OSS Node.js 应用,从这一点就能迅速获得你的青睐。

在创建这个超级清单时,我最终在 Travis CI 上使用了一些 CI / CD 自动化工具(请参阅文章中的进一步说明),来确保提交的 commit 中没有坏链。 能够快速的完成环境搭建,对于 Repo 的维护者来说是一个天大的福音。

用 Jenkins 自行托管 CI / CD 基础设施

Jenkins 是一个具有广泛范围的自我管理的 CI / CD 基础设施。 它有一个非常快速的设置过程,这意味着你很快就可以在自己的服务器上使用它。 Jenkins 非常突出的好处是它有一个非常广泛的插件生态系统,所以你可以尽情摆弄和调整它,让它更准确地按照你所希望的方式来设置。

一个鲜活的例子,就是官方 Node.js CI server 也是通过 Jenkins CI 来构建的, 几乎所有官方项目都是通过它来构建,从 Node core 一直到 libuv .

特别提醒:

当查看你的 Node.js 应用程序和项目的 CI / CD 时,有很多选项,其中包括某些特定于某些需求的选项。 有意思的是 Azure上的 Node.js CI / CD ,它是一个基于云的不错的 CI / CD 系统,是有一个关于如何在 Azure 文档中使用 CI / CD 部署 Node.js 应用程序 的不错的指南,我个人强烈推荐。

使用托管的 CI / CD 服务时一定要考虑的一件事情就是要满足你的需要的和想要的 - 托管的 CI / CD 服务之间有许多共享功能,但这些服务各不相同,例如集成版本控制平台(例如,GitHub,GitLab,BitBucket 和所有 Enterprise 版本)。 如果你有非常具体的需求,你可能会比其他人更受欢迎。
我看到和使用过的 Travis 和 Jenkins 的中CircleCI和CodeShip是不错的。 CircleCI 相当不错,可以轻松地免费使用 OSS 项目。对于OSS,CodeShip 也总是免费的。

在 CI/CD 管道中用于Node.js构建的非常棒的工具

用 Snyk 监控项目的漏洞

Snyk 是一个漏洞监控和预防服务,你可以在构建时,或阶段完成时,将其放入 CI / CD 中,用来通过在GitHub上进行PR检查来检测和处理应用程序中的安全问题。Snyk开始于处理 Node.js 漏洞,但现在也可以进行 Ruby 和 Java 漏洞监控。

保持与Greenkeeper的依赖关系

Greenkeeper是一个有趣的工具,可用于确保您的模块是最新的。 这是一个非常简单的概念工具 - 如果依赖关系更新,则创建一个新的分支并运行GitHub repo的 CI / CD 进程。如果流程通过,它会创建一个带有更新后的依赖关系的PR-如果它失败了,它会创建一个问题来解释修复故障并更新您的依赖关系的路径。

看看你代码的哪些部分用 Coveralls 做了覆盖测试

Coveralls 是一个测试覆盖工具,为你提供有关你代码的数量以及没有测试覆盖率的信息。 随着时间的推移,测试成为代码成功的重要最佳实践,既是确保问题的一个工具,也是衡量质量的一个手段。 Coveralls是一个很好的下拉工具,为你的项目提供轻松的覆盖率指标。

使 PR 不再具有危险性

Danger 是一个非常棒的工具,可帮助检测和解决PR中的常见问题。它允许你来定义PR通过时需要遵循的规则。如果你之前维护过有很多人快速提交PR的项目,可能你会知道在这个过程中经常会有很多小错误发生。 Danger基本上是作为第一反应者来解决这些问题,并尽可能快且容易地使PR进入一个可达到的状态。

还有最后一件事...

如果你想继续阅读关于 Node.js ,部署,安全性等等,我还有一些很棒的资源分享你。
随着生态系统的发展并且成为 CI/CD 中更多的一部分,当代理你的 Node.js
应用程序的时候,可以用Docker尝试一下,更容易成功 - 你会发现一些简单的优化.
另外,如果安全性,代码质量,许可等是你的核心关注点,那么你一定要看看NodeSource认证模块 - 我们有一些非常有趣和值得期待的更新,希望能得到你的反馈。

你可能感兴趣的:(7 个方便的 Node.js CI/CD 工具)