Jenkins自动部署NodeJs

Jenkins配置

1、打开系统设置中的全局工具配置,选择新增NodeJs,选择自己对应的版本后保存即可,我这里别名直接用版本号代替了。

Jenkins自动部署NodeJs

2、打开系统设置中的配置,选择增加SSH-Server,我选择直接用用户名登录的,

勾选Use password authentication, or use a different key,填写对应账号的密码即可

Jenkins自动部署NodeJs

构建任务

1、新建任务,选择构建自由风格的项目

Jenkins自动部署NodeJs

2、源码管理中填写git地址并选择自己对应的分支

Jenkins自动部署NodeJs

3、构建环境中勾选Provide Node & npm bin/ folder to PATH,选择自己对应的NodeJs

Jenkins自动部署NodeJs

4、构建,选择执行shell

Jenkins自动部署NodeJs

选择通过命令行发送文件

Source files:需要发送的文件,该路径是本项目在Jenkins工作空间(workspace)下的相对路径

Remove prefix:移除前缀,意思是去除路径中的文件夹,只留下文件

Remote directory:目标文件夹,该路径是目标Tomcat所在服务器的root文件夹下的相对路径

Jenkins自动部署NodeJs

5、保存,构建看看结果,成功的话结果如下:

Jenkins自动部署NodeJs

报错

一开始总是下面这样报错

sh: /var/lib/jenkins/workspace/web_erp/node_modules/.bin/cross-env: Permission denied
npm ERR! code ELIFECYCLE
npm ERR! errno 126
npm ERR! [email protected] build:qa: `cross-env NODE_ENV=qa env_config=qa node build/build.js`
npm ERR! Exit status 126
npm ERR! 
npm ERR! Failed at the [email protected] build:qa script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /var/lib/jenkins/.npm/_logs/2019-06-04T02_24_47_411Z-debug.log
Build step 'Execute shell' marked build as failure

网上找了一圈资料没找到什么信息,试着把node_modules文件夹删掉再重新构建后就ok了。

相关推荐