大湖之子 发表于 2018-1-8 08:34:36

linux使用jenkins全局打包gulp方案

  背景:前端react项目使用jenkins、gulp进行自动发布,过程中遇到问题是node_modules太大,导致发布一次需要30分钟左右,跟后台项目发布时长差不多了!
  坚信node_modules可全局安装,记录下来希望大家有所启发。
  1.首先在打包服务器环境上,全局安装package.json。直接执行全局安装会失败,可使用node脚本的child_process.exec对package.json的所有依赖进行全局安装。
  2.此时执行gulp命令会报 install gulp local错误。此时需要设置NODE_PATH环境变量。
  在/etc/profile中设置即可:export NODE_PATH=/usr/local/lib/node_modules
  3.在jenkins命令中执行gulp时,发现一直会报 install gulp local错误,但其实在cmd中是可正常使用的。
  猜测是jenkins的执行环境未使用全局变量缘故,方案是在jenkins系统设置->全局变量(Environment variables)中添加NODE_PATH即可
  4.webpack配置用到的包需要增加全局处理:
  

resolve: {  fallback: ,
  alias: {
  }
  },
  resolveLoader:{
  fallback: ,
  }
  
页: [1]
查看完整版本: linux使用jenkins全局打包gulp方案