Nodejs语言

标题:node构建失败,node构建慢

回复:是否访问海外资源拉取海外资源,如果是使用云效的中国(香港)构建机群或者是指向国内源

标题:yarn构建慢,构建失败

回复:是否访问海外资源拉取海外资源,如果是使用云效的中国(香港)构建机群或者是指向国内源

标题:node构建拉取的依赖资源版本不一致

回复:您Google下package.json中^,~等有关的详细说明,比如https://www.cnblogs.com/IwishIcould/p/14008636.html

比如如下场景

云效拉的是1.79.1用户期望是1.71.0是么

^1.71.0这个的意思是会拉最新的版本,您改成1.71.0固定版本就好

node11

标题:node构建失败,提示JavaScript heap out of memory或者是其他提示内存资源不够

回复:这个可以Google下JavaScript heap out of memory ,比如参考下:https://www.jianshu.com/p/2bf539bb949f

注意:--max_old_space_size=8000,max_old_space_size 尽量设置的不要超过8192

或者是可以使用自有构建机,这个没有资源限制的,具体可以看下这个文档https://help.aliyun.com/document_detail/202384.html

标题:node构建失败

回复:

1、本地清理下node_modules,然后使用云效上构建是同样commit版本的代码进行构建,本地应该也会复现问题

2、或者是拉取云效的镜像到本地,然后本地启动镜像进去容器中执行git clone到代码切换到同样commit版本的代码,执行相同的命令应该也可以复现问题

附上操作如下:操作中的版本,云效上选择是什么就拉取对应的版本的,比如云效上选择的是13.14那么拉取13.14的镜像

docker pull registry.cn-beijing.aliyuncs.com/build-steps/node-build:13.14

docker run --entrypoint=/bin/bash -it registry.cn-beijing.aliyuncs.com/build-steps/node-build:13.14

启动起来进去容器后执行git clone ,下载到代码 切换到对应的commit,使用对应的commit进行执行对应的命令,应该有对应的git环境 走http clone,执行要使用你对应的代码版本去执行,你看下你现在的代码版本 和需要执行的代码版本是否一样,确保一样后,执行流水线中配置的同样的命令就可以了

标题:node构建,需要node版本

回复:云效提供了指定版本构建,如果您使用的是指定node版本,那么云效其实用的是nvm装的, node和npm版本都是配套安装的哈,具体版本也可以通过加查看版本的命令查看下,具体可以参考https://help.aliyun.com/document_detail/153702.html

标题:node构建失败,本地调试工具

回复:目前构建失败时会显示出本地调试工具,如果是成功时不显示的,如果是想成功也调试的话 可以在执行命令中可以加上非0退出码,比如exit 1

node44node55

标题:node构建发布后跟预期不一致

回复:按照如下思路排查下

源码 -> 构建产物 -> 分发到机器上 -> 解压 -> 启动 -> 页面验证有问题这种问题需要从后往前排查。

依次确认一下

1. 部署机器上的解压后文件内容是否符合预期

2. 部署机器上的解压前文件内容是否符合预期

3. 流水线归档的构建物的内容(可以在流水线运行页面的左侧下载到本地)是否符合预期

4. 构建时候的clone代码的日志里的代码commitId是否符合预期

这个过程需要用户您自己来确认,先定位到具体是哪里的问题,如果最后发现是完全相同的代码构建出来的不符合预期,在进行本地调试。比如删除缓存重新构建,或者修改node版本等

或者是按照如下方式验证:

第一种验证方式:使用流水线中node卡片上的调试功能

第二种验证方式:拉取云效的镜像到本地,然后本地启动镜像进去容器中执行git clone到代码切换到同样commit版本的代码,执行相同的命令应该也可以复现问题

附上操作如下:操作中的版本,云效上选择是什么就拉取对应的版本的,比如云效上选择的是13.14那么拉取13.14的镜像

docker pull registry.cn-beijing.aliyuncs.com/build-steps/node-build:13.14

docker run --entrypoint=/bin/bash -it registry.cn-beijing.aliyuncs.com/build-steps/node-build:13.14

启动起来进去容器后执行git clone ,下载到代码 切换到对应的commit,使用对应的commit进行执行对应的命令,应该有对应的git环境 走http clone,执行要使用你对应的代码版本去执行,你看下你现在的代码版本 和需要执行的代码版本是否一样,确保一样后,执行流水线中配置的同样的命令就可以了,用dockercp命令 将容器的弄出来传到服务器上,然后发布试下,应该就可以复现

阿里云首页 云效2020 相关技术圈