惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

小众软件
小众软件
A
About on SuperTechFans
博客园 - Franky
Engineering at Meta
Engineering at Meta
Recent Announcements
Recent Announcements
云风的 BLOG
云风的 BLOG
B
Blog
Microsoft Security Blog
Microsoft Security Blog
L
LangChain Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
U
Unit 42
Martin Fowler
Martin Fowler
Y
Y Combinator Blog
Stack Overflow Blog
Stack Overflow Blog
博客园 - 叶小钗
Vercel News
Vercel News
Apple Machine Learning Research
Apple Machine Learning Research
The Cloudflare Blog
Last Week in AI
Last Week in AI
腾讯CDC
Microsoft Azure Blog
Microsoft Azure Blog
爱范儿
爱范儿
V
V2EX
G
Google Developers Blog

博客园 - 莫耶

学习RxJS:Cycle.js 学习RxJS: 导入 [Node.js] 使用node-forge保障Javascript应用的传输安全 [Node.js] 对称加密、公钥加密和RSA [Node.js] DSL in action [Node.js] 使用TypeScript编写Node项目 [Node.js] Node.js中的流 [Node.js] 基于Socket.IO 的私聊 [Node.js] 闭包和高阶函数 [Node.js] Promise,Q及Async [Node.js] Express的测试覆盖率 [Node.js] BDD和Mocha框架 [Node.js] 也说this [Node.js] ECMAScript 6中的生成器及koa小析 [Node.js] 使用File API 异步上传文件 [Node.js] OAuth 2 和 passport框架 [Node.js] Node + Redis 实现分布式Session方案 [Node.js] Cluster,把多核用起来 Python开源框架Scrapy安装及使用
[Node.js] Node.js项目的持续集成
莫耶 · 2016-03-04 · via 博客园 - 莫耶

2016-03-04 09:27  莫耶  阅读(1849)  评论()    收藏  举报

原文地址:http://www.moye.me/2016/03/03/nodejs_ci_by_jenkins

引子

持续集成 (Continuous Integration,简称CI)是一种软件工程实践:项目需要经常性的集成(每天发生若干次)成员的工作成果。这个集成的动作五花八门,可能涉及但不限于:

  • 运行测试
  • 编译/构建
  • 打包/发布版本

每一次集成都会有一个结果,成或者败:

  • 成 -> 将得到一个可用的成果
  • 败 -> 反映出项目中的问题,解决这个问题将成为项目中优先级最高的任务

CI的价值可谓不言而喻。

Jenkins CI flow

Jenkins CI

Jenkins是一个开源项目,提供了一种易于使用的持续集成系统,使开发者从繁杂的集成中解脱出来,专注于更为重要的业务逻辑实现上。同时 Jenkins 能实施监控集成中存在的错误,提供详细的日志文件和提醒功能,还能用图表的形式形象地展示项目构建的趋势和稳定性。下面将介绍 Jenkins 的基本功能及如何结合到Node.js项目。

安装Jenkins

Jenkins 的安装非常简单,只需在官网下载最新的.war文件,以命令行方式运行:

java -jar jenkins.war --httpPort=8080

Jenkins 将运行在 http://localhost:8080,我们可以在浏览器上进行各种可视化的管理。在集成我们的源码项目之前,先做一些准备设置:

安装Nodejs和Git插件

1.沿菜单路径进行选择:

系统管理 -> 管理插件 -> 可选插件

2.选取 NodeJS Plugin 和 Github Authentication plugin,点 【直接安装】。

3.安装完成后,进入:

系统管理 -> 系统设置

4.设置 Git 路径信息:

jenkins_git_conf

5.设置 Nodejs 路径信息:

jenkins_nodejs_conf

集成Github上的Node.js项目

1. 新建一个自由风格的软件项目:

jenkins_new_project

2. 配置Git仓库,并提供帐号信息,以便Jenkins以自动抓取源码版本:

jenkins_git_repo

3.配置构建环境,将Nodejs环境变量导入到Jenkins运行时

jenkins_nodejs_env

4.配置构建时执行的Shell脚本

jenkins_executing_shell

可以看到,这一步就是【构建】的实质所在:

  • 导出程序用的环境变量
  • 包的安装
  • 执行测试

此外,还可以为项目配置触发器,诸如:cron定时执行/做为其他项目构建的后续动作等。当然,不配也可以,直接点击【立即构建】,然后点击进入此次构建的详情页,通过Console Output 项查看构建的实时输出:

jenkins_build_output

任何时候,项目都会显示最近一次的构建状态,并且提供详细的构建历史:

jenkins_build_history

小结

本文仅是简单介绍了持续集成的概念,以及如何快速构建Jenkis + Nodejs + Github 的持续集成环境。但Jenkins 的功能远不至文中所述的这些,Jenkins 还有详尽的日志处理和持续集成构建状等功能。抛砖引玉,愿能与大家一起继续探索。

更多文章请移步我的blog新地址: http://www.moye.me/ 

Creative Commons License