云上持续交付实践系列4 --- node 篇

简介: 本文会演示如何在CRP上编译并部署一个Node应用。

本文会演示如何在CRP上编译并部署一个Node应用。

相关的技术和网站

  1. 阿里云持续交付平台 https://crp.aliyun.com
  2. 阿里云Code https://code.aliyun.com

crp提供的编译能力

现在crp平台已经支持node0.12,node4.4.x, node5.9.x 版本的项目编译/测试

常用的node编译指令和环境

1.常用的node相关的指令

    npm install //安装依赖
    npm list   //列举已经安装的依赖
    npm test   //执行测试

2.配置npm的源为淘宝的npm镜像源

通过config命令

npm config set registry https://registry.npm.taobao.org 
npm info node (显示有镜像源)

命令行指定

npm --registry https://registry.npm.taobao.org info underscore 

编辑 ~/.npmrc 加入下面内容

echo 'registry = https://registry.npm.taobao.org' >> ~/.npmrc

准备node代码库

选择最新github获得星较多的npm-check项目,该项目用于检测本地的node modules的状态,提供更新,debug等功能。
代码库地址:https://code.aliyun.com/qingyang1015/npm-check.git
有兴趣的同学可以先把这个代码下载下来按照README.md现在本地跑起来。

CRP上关联代码库

打开项目->项目设置->代码管理

1_1

输入代码库名称
1_2

点击添加,关联代码库
1_3

CRP上配置工作流

只配置代码更新和编译/测试任务

创建nodeBuild工作流,配置触发器

2_1

点击“开始节点”

2_2

配置编译/测试任务

点击“任务列表”,添加任务
2_3

选择语言的类型
2_4

输入编译的指令,自带有默认的指令
2_5

配置好的工作流

2_6

编译/测试的指令为:

npm -d install
npm test

试运行工作流

生效工作流

4_1

触发工作流

5_1

工作流运行的状态

6_1
6_2

运行的日志和结果:

6_3

配置带有部署的工作流

配置部署任务,具体的部署参数可参看https://yq.aliyun.com/articles/26414?spm=5176.team20.teamshow1.19.yHg6Pa
7_1

部署指令(当前版本为node5.9):

mkdir -p /home/admin/yuxiao/apps/npm-check
tar -xf  /home/admin/yuxiao/apps/package.tgz  -C /home/admin/yuxiao/apps/npm-check
cd /home/admin/yuxiao/apps/npm-check
node bin/cli.js -s >> /tmp/npm-check.log
ls -l /tmp/npm-check.log

运行工作流

查看执行的结果
7_3

一些细节和约定

  • crp配置部署任务前需要配置代码更新。
  • node项目的编译依赖package.json,编译指令常用“npm install”,crp编译项目时默认的淘宝镜像源,编译速度较快。
  • node版本的变化从0.12到4.4再到5.9,crp支持现有的主流版本,可适用于多种不同版本的项目;
  • crp工作流配置时如果部署任务需要使用编译结束的包,则需要配置输出物路径,如果填写“./”,会讲整个项目打包;如果不配置输出物路径,则不会上传编译的包,会引用源码包。
目录
相关文章
|
2月前
|
JSON JavaScript 前端开发
JS服务端技术—Node.js知识点
本篇文章是我开始系统学习Node.js的一些笔记。如果文中阐述不全或不对的,多多交流。
62 0
JS服务端技术—Node.js知识点
|
3月前
|
JavaScript
node下的two.js调用one.js出现无法编译问题 Cannot find module ‘c:
node下的two.js调用one.js出现无法编译问题 Cannot find module ‘c:
47 0
|
3月前
|
JavaScript
Turndown 源码分析:五、节点相关`root-node.js`和`node.js`
Turndown 源码分析:五、节点相关`root-node.js`和`node.js`
|
4月前
|
JSON JavaScript API
Node.js(nodejs)对本地JSON文件进行增、删、改、查操作(轻车熟路)
Node.js(nodejs)对本地JSON文件进行增、删、改、查操作(轻车熟路)
|
2月前
|
消息中间件 Web App开发 JavaScript
Node.js【简介、安装、运行 Node.js 脚本、事件循环、ES6 作业队列、Buffer(缓冲区)、Stream(流)】(一)-全面详解(学习总结---从入门到深化)
Node.js【简介、安装、运行 Node.js 脚本、事件循环、ES6 作业队列、Buffer(缓冲区)、Stream(流)】(一)-全面详解(学习总结---从入门到深化)
70 0
|
3月前
|
JavaScript 前端开发 API
Node.js【简介、安装、运行 Node.js 脚本、事件循环、ES6 作业队列、Buffer(缓冲区)、Stream(流)】(一)-全面详解(学习总结---从入门到深化)(下)
Node.js【简介、安装、运行 Node.js 脚本、事件循环、ES6 作业队列、Buffer(缓冲区)、Stream(流)】(一)-全面详解(学习总结---从入门到深化)
34 0
|
11天前
报错/ ./node_modules/axios/lib/platform/index.js Module parse failed: Unexpected token (5:2)怎么解决?
报错/ ./node_modules/axios/lib/platform/index.js Module parse failed: Unexpected token (5:2)怎么解决?
|
3月前
|
消息中间件 Web App开发 JavaScript
Node.js【简介、安装、运行 Node.js 脚本、事件循环、ES6 作业队列、Buffer(缓冲区)、Stream(流)】(一)-全面详解(学习总结---从入门到深化)(上)
Node.js【简介、安装、运行 Node.js 脚本、事件循环、ES6 作业队列、Buffer(缓冲区)、Stream(流)】(一)-全面详解(学习总结---从入门到深化)
42 0
|
3月前
|
存储 缓存 资源调度
深入浅出Node.js中的node_modules(二)
深入浅出Node.js中的node_modules
|
26天前
|
Web App开发 JavaScript 前端开发
js开发:请解释什么是Node.js,以及它的应用场景。
Node.js是基于V8的JavaScript运行时,用于服务器端编程。它的事件驱动、非阻塞I/O模型使其在高并发实时应用中表现出色,如Web服务器、实时聊天、API服务、微服务、工具和跨平台桌面应用(使用Electron)。适用于高性能和实时需求场景。
18 4