云上持续交付实践系列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工作流配置时如果部署任务需要使用编译结束的包,则需要配置输出物路径,如果填写“./”,会讲整个项目打包;如果不配置输出物路径,则不会上传编译的包,会引用源码包。
目录
相关文章
|
1月前
|
Web App开发 JavaScript API
构建高效后端系统:Node.js与Express框架的实践之路
【9月更文挑战第37天】在数字化时代的浪潮中,后端开发作为技术架构的核心,承载着数据处理和业务逻辑的重要职责。本文将深入探讨如何利用Node.js及其强大的Express框架来搭建一个高效、可扩展的后端系统。我们将从基础概念讲起,逐步引导读者理解并实践如何设计、开发和维护一个高性能的后端服务。通过实际代码示例和清晰的步骤说明,本文旨在为初学者和有经验的开发者提供一个全面的指南,帮助他们在后端开发的旅途上走得更远。
43 3
|
27天前
|
Web App开发 JSON JavaScript
深入浅出:Node.js后端开发入门与实践
【10月更文挑战第4天】在这个数字信息爆炸的时代,了解如何构建一个高效、稳定的后端系统对于开发者来说至关重要。本文将引导你步入Node.js的世界,通过浅显易懂的语言和逐步深入的内容组织,让你不仅理解Node.js的基本概念,还能掌握如何使用它来构建一个简单的后端服务。从安装Node.js到实现一个“Hello World”程序,再到处理HTTP请求,文章将带你一步步走进Node.js的大门。无论你是初学者还是有一定经验的开发者,这篇文章都将为你打开一扇通往后端开发新世界的大门。
|
3月前
|
JavaScript 前端开发 API
深入浅出:使用Node.js搭建RESTful API的实践之旅
【8月更文挑战第31天】本文将带你踏上一次Node.js的探险之旅,通过实际动手构建一个RESTful API,我们将探索Node.js的强大功能和灵活性。无论你是初学者还是有一定经验的开发者,这篇文章都将为你提供宝贵的实践经验和深刻的技术洞见。
|
3月前
|
存储 缓存 JavaScript
深入Node.js身份验证:策略与实践
【8月更文挑战第20天】
50 4
|
3月前
|
JavaScript 安全 前端开发
Node.js身份验证全攻略:策略与实践,打造坚不可摧的Web应用安全防线!
【8月更文挑战第22天】Node.js作为强大的服务器端JavaScript平台,对于构建高效网络应用至关重要。本文探讨其身份验证策略,涵盖从基于token至复杂的OAuth 2.0及JWT。Passport.js作为认证中间件,支持本地账号验证及第三方服务如Google、Facebook登录。同时介绍JWT轻量级验证机制,确保数据安全传输。开发者可根据应用需求选择合适方案,注重安全性以保护用户数据。
63 1
|
5月前
|
JavaScript 前端开发 Shell
深入Node.js的进程与子进程:从文档到实践
深入Node.js的进程与子进程:从文档到实践
|
6月前
|
消息中间件 监控 JavaScript
Node.js中的微服务架构:构建与实践
【4月更文挑战第30天】本文探讨了在Node.js中构建微服务的实践,包括定义服务边界、选择框架(如Express、Koa或NestJS)、设计RESTful API、实现服务间通信(HTTP、gRPC、消息队列)、错误处理、服务发现与负载均衡,以及监控和日志记录。微服务架构能提升应用的可伸缩性、灵活性和可维护性。
|
6月前
|
数据采集 JavaScript 前端开发
利用axios库在Node.js中进行代理请求的实践
利用axios库在Node.js中进行代理请求的实践
|
6月前
|
Web App开发 JavaScript 前端开发
深入浅出:Node.js 在后端开发中的应用与实践
【2月更文挑战第13天】本文旨在探讨Node.js这一流行的后端技术如何在现代Web开发中被应用以及它背后的核心优势。通过深入分析Node.js的非阻塞I/O模型、事件驱动机制和单线程特性,我们将揭示其在处理高并发场景下的高效性能。同时,结合实际开发案例,本文将展示如何利用Node.js构建高性能、可扩展的后端服务,以及在实际项目中遇到的挑战和解决方案。此外,我们还将讨论Node.js生态系统中的重要工具和库,如Express.js、Koa.js等,它们如何帮助开发者快速搭建和部署应用。通过本文的探讨,读者将获得对Node.js在后端开发中应用的深入理解,以及如何有效利用这一技术来提升开发效率
381 2
|
6月前
|
JavaScript 前端开发 数据安全/隐私保护
NodeJS 下构建 命令行工具(CLI) 与 交互式命令界面 的实践
NodeJS 下构建 命令行工具(CLI) 与 交互式命令界面 的实践
418 1