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 的中CircleCICodeShip是不错的。 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认证模块 - 我们有一些非常有趣和值得期待的更新,希望能得到你的反馈。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,284评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,115评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,614评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,671评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,699评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,562评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,309评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,223评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,668评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,859评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,981评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,705评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,310评论 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,904评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,023评论 1 270
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,146评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,933评论 2 355

推荐阅读更多精彩内容