方法一:构建环境选择Send files or execute commands over SSH before the build starts
的配置(前提在服务器中安装nodejs):
说明:
Source files:准备发送的文件,该文件是相对于这个项目的workspace目录,也就是$JENKINS_HOME/workspace/xxxx/。例如要发送/home/jenkins_home/workspace/frontend/build下的所有文件到目标目录,则设置Source files为frontend/build。
Remove prefix:例如设置为frontend就是只发送build文件,如果不填会创建frontend目录层级。
Remote directory:目标目录,比如/html。
Exec command:最后执行的指令。
此处指令:
#!/bin/bash
cd (你服务器中配置的Jenkins文件夹地址)/frontend
npm config set registry https://registry.npm.taobao.org
npm config get registry
npm install
npm run build
rm -rf build.tar.gz
tar zcvf build.tar.gz build
cd (你web项目根目录,即你build文件夹放到哪个文件,使用服务器地址可以访问你的项目)
mv (你服务器中配置的Jenkins文件夹地址)/frontend/build.tar.gz ./
tar zxvf build.tar.gz
rm -rf build.tar.gz
方法二:1.构建环境选择Provide Node & npm bin/ folder to PATH
(前提需要在Jenkins中安装nodejs)
2.构建中的增加构建步骤选择执行shell
#!/bin/bash
cd (..)/frontend #进入Jenkins工作空间下frontend项目目录
node -v #检测node版本(此条命令非必要)
npm -v #检测npm版本(此条命令非必要)
npm config set registry https://registry.npm.taobao.org #把npm源设置为淘宝源(这个你懂的)
npm config get registry #检测npm是否切换成功(此条命令非必要)
npm install #安装项目中的依赖
npm run build #打包
rm -rf build.tar.gz #删除上次打包生成的压缩文件(一般建议备份,不要直接删除,这边测试就无所谓啦)
tar zcvf build.tar.gz build #把生成的项目打包成压缩包,方便移动到项目部署目录
cd (..) #进入web项目根目录
mv /(..)/frontend/build.tar.gz ./#移动刚刚打包好的项目到web项目根目录
tar zxvf build.tar.gz #解压项目