之前总结了一个jenkins自动发版java后端的文章了,发版前端也同理,变化不大,简要总结一下。
1.拉取项目后执行的命令
a
npm i
npm run build
这个就需要jenkins服务器装好nodejs,能够在项目当前路径执行打包命令就行。
2.jenkins配置文件推送到目标服务器

前端发版,打好包后放到服务器指定路径下就可以了;
Source files
,是dist/**
,表示当前路径下dist文件夹里的所有文件;
Remove prefix
,是dist
,表示推送到目标服务器时,不要带dist
文件夹本身;(这样推送的才是**
,不然就会把 dist/**
一起推过去)
Remote directory
,是/home/web/website
表示,推送到目标服务器的这个地方。
3.打包遇到的坑
npm run build
打包时,出现了windows本地打包成功,但是jenkins打包失败的问题。
首先以为是nodejs版本问题,本地和服务器不统一;
后来发现,是因为package.json
里使用了:
a
"build": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service build",
其中,这个SET
方法是windows设置环境变量的方法,到linux系统就会报错(linux应该是export
);
正确方法是换成:
a
"build": "cross-env NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service build",
并且用npm i
安装下:
a
npm i cross-env