dongnan
总版主
总版主
  • 粉丝52
  • 发帖数2155
  • 铜币12810枚
  • 威望5719点
  • 银元150个
  • 社区居民
  • 最爱沙发
  • 忠实会员
  • 原创写手
阅读:296回复:0

如何打造 Nodejs 项目的持续集成?

楼主#
更多 发布于:2018-03-29 11:44
目标
基于 Jenkins 与 Docker 完成 NodeJs 项目的持续集成工作;

CI 流程图

描述:nodeJs-CI

图片:Node.js-CI.png

nodeJs-CI

必要的组件
1. Docker & NodeJs 相关请参考这里

2. Jenkins 相关请参考这里
Jenkins 使用 Gogs webhook 插件,请参考这里(可选)。

3. 用于 build & push Docker镜像脚本程序。

4. Harbor 相关请参考这里

配置
1. 安装 NodeJs 插件
在 jenkins -> 系统管理 -> 管理插件 -> 过滤 -> NodeJS -> 安装。

图片:jenkins-nodejs-plugin.png



2. 配置 NodeJs 插件
在 jenkins -> 系统管理 -> 全局工具配置-> NodeJs -> 按需求填写 。

描述:jenkins-nodejs-plugin

图片:jenkins-install-nodejs.png

jenkins-nodejs-plugin

确认后 jenkins 将自动安装 NodeJs 程序,安装的目录在 Your-Jenkins-dir/tools/jenkins.plugins.nodejs.tools.NodeJSInstallation/NodeJS-9.8.0

3. 创建任务
创建任务比较简单,这里任务类型为自由风格项目,并按照实际情况填写,可以参考这里

需要说明的有以下几点:
00. 如果不使用 webhook 方式,那么需要选择其它的“触发方式”,如 Poll SCM 每5分钟检查一次 git仓库。


01. 构建触发器
选择 "Build when a change is pushed to Gogs"


02. 构建环境
选择 "Provide Node & npm bin/ folder to PATH"

图片:jenkins-nodejs-job-env.png



03. 构建
选择 "Execute shell"
 

图片:jenkins-nodejs-job-build.png



Command 如下
node -v  && cnpm -v
cnpm install
cnpm run test
bash ${WORKSPACE}/docker/war2image.sh

验证
提交代码后,gogs 将推送事件消息到 jenkins ,触发 jenkins 进行项目构建工作。


参考
jenkins && nodejs
#
游客

返回顶部