解决Jenkins部署nodejs服务的问题

jenkins部署nodejs项目,经过几番折腾,最终部署成功,分解步骤如下
执行步骤见下文执行过的命令,按循序执行即可

代码拉取后进入jenkins的workspace目录中,然后开始一步一步验证,确保手动成功启动服务后,再通过jenkins自动部署

# cd $WORKSPACE
# npm -i
# npm audit fix

出现Module not found: Error: Can’t resolve 'stylus-loader’错误,需要安装stylus stylus-loader两个模块

# npm install stylus stylus-loader

在运行npm run build的时候出现错误sh: cross-env: command not found
cross-env,则需要安装cross-env模块

# npm install cross-env

编译完成后,需要将项目文件和依赖的模块都移到生产环境目录中

# rsync -a --progress --exclude ".git" $WORKSPACE/server/ /home/homework/xxxx/
# rsync -a --progress --exclude ".git" $WORKSPACE/node_modules /home/homework/xxxx/

启动服务

# cd /home/homework/xxxx
# npm start

> koa-server@0.1.0 start /mnt/homework/addot
> cross-env mode=prod pm2 start app.js -i max

events.js:174
      throw er; // Unhandled 'error' event
      ^

Error: spawn pm2 ENOENT
    at Process.ChildProcess._handle.onexit (internal/child_process.js:246:19)
    at onErrorNT (internal/child_process.js:421:16)
    at internalTickCallback (internal/process/next_tick.js:72:19)
    at process._tickCallback (internal/process/next_tick.js:47:5)
    at Function.Module.runMain (internal/modules/cjs/loader.js:779:11)
    at executeUserCode (internal/bootstrap/node.js:342:17)
    at startExecution (internal/bootstrap/node.js:276:5)
    at startup (internal/bootstrap/node.js:227:5)
    at bootstrapNodeJSCore (internal/bootstrap/node.js:743:3)
Emitted 'error' event at:
    at Process.ChildProcess._handle.onexit (internal/child_process.js:252:12)
    at onErrorNT (internal/child_process.js:421:16)
    [... lines matching original stack trace ...]
    at bootstrapNodeJSCore (internal/bootstrap/node.js:743:3)

经过几番周折,觉得是不是要用pm2命令启动一下试试?结果发现问题了,测试命令报错pm2: command not found,那就安装pm2命令,安装后在node目录里面生成pm2可执行文件,最后做个软连接

# npm install -g pm2
# ln -s /home/homework/node-v11.4.0-linux-x64/lib/node_modules/pm2/bin/pm2 /usr/bin/
# pm2 -V         
[PM2] Spawning PM2 daemon with pm2_home=/root/.pm2
[PM2] PM2 Successfully daemonized
3.2.4

再次运行npm start项目启动成功,后面使用jenkins部署即可!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值