V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Imshaha
V2EX  ›  程序员

8 步搭建 Node.js + MongoDB 项目的自动化持续集成

  •  1
     
  •   Imshaha · 2016-06-17 11:05:06 +08:00 · 3430 次点击
    这是一个创建于 3081 天前的主题,其中的信息可能已经有所发展或是发生改变。

    任何事情超过 90 秒就应该自动化,这是程序员的终极打开方式。 Automating shapes smarter future.

    这篇文章中,我们通过创建一个 Node.js + MongoDB 项目,来教大家如何使用 flow.ci 8 步完成自动化持续集成的搭建。

    了解 flow.ci

    flow.ci 是融入了 workflow 机制的持续集成( CI )服务,也可以理解为自动化流程平台,除了集成代码、编译、测试之外,还可以集成常用的工具、灵活自定义流程。 1 分钟即可完成开发测试环境搭建,开启第一个 Build 。

    flow.ci,我们把项目的开发工作流称为 flow ,每个 flow 由触发器插件构成。系统根据不同的语言和环境提供对应的 flow 模版,触发器和插件。 Flow 的自定义非常简单,只需要 One-Click 即可添加你需要的插件。它可能是一个代码静态分析检测工具(比如 Eslint),可能是一个数据库(比如 Mysql/MongoDB/Redis ),可能是一个消息通知插件(比如 邮件 /Slack )等。

    更专注于代码,其他的琐事交给 flow.ci 自动化完成吧 :)

    flow.ci 搭建 Node.js + MongoDB 自动化持续集成!

    首先,设置一个 Node.js + MongoDB 的项目:

    1. 关联代码仓库

    2. 选择要集成的项目

    3. 开始你的第一个 Flow

    4. 选择项目语言

    选择项目语言 node.js ,可以看到默认的 flow 模板 ,包括 intialize - Git Clone - Cache - Install - Test 的流程。

    5. 选择语言版本,单击创建项目

    选择项目语言的版本, node.js 提供的四种语言版本,包括 V0.10.32 、 V0.12.2 、 V4.0.0 、 V5.2.0 。

    除了 Node.js 外,flow.ci 提供 Ruby , Python , PHP , Java for Android 的多语言、多版本的开发测试环境。后续会支持更多语言。

    6. 点击“+”添加插件,自定义 flow

    在环境和语言等初始配置完成后,flow.ci会提供一套 基本 flow 模版,内含通用流程插件和流程触发设置。如果你有定制化的需求,点击图中“+”或者“删除”“编辑”,实时设置就可以。

    7. 选择或搜索 MongoDB 的插件,点击添加。

    8. Bingo !你的 Flow 已准备就绪。现在,提交代码开始 Build 。

    实现这套自动化流程之后,只需要开发新功能,提交代码即可。图为跑完整个持续集成流程,绿色健康的项目状态。


    繁琐可循的任务就应该工具化自动化,这是程序员们的不懈追求。如果你也想 8 步开启 Node.js 的自动化持续集成,来 http://flow.ci 首页提交申请,邀请码随后会发送到邮箱。

    期待你的反馈。

    Happy Building!

    flow.ci team

    13 条回复    2016-06-17 14:57:53 +08:00
    akring
        1
    akring  
       2016-06-17 11:16:20 +08:00
    前排留名,姿瓷 iOS 开发了吗?
    kiroli
        2
    kiroli  
       2016-06-17 11:19:08 +08:00
    来看头像的
    hantsy
        3
    hantsy  
       2016-06-17 11:27:55 +08:00
    Great, 现在几个项目都在用 Circle CI 。
    Imshaha
        4
    Imshaha  
    OP
       2016-06-17 11:43:44 +08:00
    @akring 还没有,流程跑通了。后面肯定会支持 ~
    Imshaha
        5
    Imshaha  
    OP
       2016-06-17 11:44:55 +08:00
    @hantsyflow.ci 再强大起来... :)
    aitaii
        6
    aitaii  
       2016-06-17 12:09:56 +08:00
    头像 up good
    niko
        7
    niko  
       2016-06-17 12:16:15 +08:00
    什么时候会支持 Java 项目?
    Imshaha
        8
    Imshaha  
    OP
       2016-06-17 13:21:59 +08:00
    @niko 目前不支持 Java 项目, Java for Android 可以。工程师 GG 正在奋斗 ing ~
    Ranler
        9
    Ranler  
       2016-06-17 13:32:16 +08:00
    和 Jenkins 的差别是?。。。
    Imshaha
        10
    Imshaha  
    OP
       2016-06-17 13:44:50 +08:00
    @Ranler 这是托管型 CI 不是本地型的,简单易用上手快( fir.im 一直是这个风格),支持完全线上托管和 Agent 半托管两种模式。另外,它不只是可以用在开发测试持续集成,还可以用在其他想自动化的流程上,以后我们会提供案例。 flow.ci 现在在邀请内测阶段,感兴趣可以申请。
    Lxxyx
        11
    Lxxyx  
       2016-06-17 13:57:48 +08:00 via Android
    已申请,学生党,不知道会不会给过
    Imshaha
        12
    Imshaha  
    OP
       2016-06-17 14:52:56 +08:00
    @Lxxyx 去 Gitter 群找 Sarah https://gitter.im/FIRHQ/flow.ci
    zhangfan
        13
    zhangfan  
       2016-06-17 14:57:53 +08:00
    又看到来推广的妹纸了

    妹纸还记得俺不?

    俺是卖那个域名的。

    flowon.net 在网上浪

    这个域名很适合你们家产品啊。要收购吗
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1164 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 23:57 · PVG 07:57 · LAX 15:57 · JFK 18:57
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.