前提:jenkins已经安装好了
目的:jenkins配置跑用vue-cli搭建的前端项目
环境:
系统:windows7
Jenkins:2.121.2(各版本操作界面略不同!)
node:v8.11.3
npm:v5.6.3
步骤
1 新建任务
12 输入项目名称,选择构建自由风格
23 重点!配置,大家可以先提前看下这个配置教程
以下是我的项目配置
1这页配置都可以不选的 2这页配置按照我的来 3这个看需求,自己勾选对应的 4设置构建前先把工作区的此项目内容全删了,jenkins会重新从svn拉取构建构建脚本是
npm install
npm run build
命令需要写到2个框里,写一起会只执行了第一句
5编写构建脚本(前提是你项目是能通过脚本跑的) 6这里可以写构建后操作,比如设置自动把构建后的文件copy到某(远程)位置发布,下节再说吧,现在保存即可实现自动构建功能现在进入这个页面,点击一下立即构建!
7左边就看到构建历史了,点击下,可以看控制台输出好了,如果你顺利的话,现在就应该能跑通,不顺利的话就呵呵,像我一样继续倒腾吧,哎,tmd
坑1
我一构建,结果npm构建了好久(10分钟)就提示下面这个,npm install一直执行不了!
npm ERR! code EINTEGRITY
npm ERR! sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU= integrity checksum failed when using sha1: wanted sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU= but got sha1-GphMzPjsiYHXNwWGmbfmaoE87R0=. (90281 bytes)
1 WTF???然后就各种百度,因为我直接进的此项目jenkins工作区E:\Jenkins\workspace\GYB1,直接cmd执行npm install,可以啊!!!node_modules目录下的文件依赖都下载好了,但是只要一用jenkins里的脚本npm install来跑就有问题,WTF????搞事情啊!
然后有人说,
1 先清下npm缓存,执行npm cache clean --force,我试了好像是没有用,但是好像又有用,我还试着每次构建都执行npm cache clean --force,但不行!我用jenkins构建50次(一天),其中有3次成功,西八啊!
2 难道是网络原因???但是我直接用cmd来install可以的啊,到现在都搞不清。
3 有人说是npm版本问题(现在太高),改成4,我试了下 npm -g install npm@4,结果好像真tm可以了,构建了6分钟,终于可以了,啊!WTF!!!
我观察下,原来的npm5.6版本一用jenkins跑,就会把本该在node_modules里所有文件夹下载到了node_modules的子目录.staging里了,node_modules文件夹下就这一个.staging文件夹,应该是把.staging里面的都移到XXXnode_modules里呀,哎,不清楚为啥用jenkins就会这样,cmd不会啊
坑2
在构建的时候,别打开jenkins工作区里的此项目,不然构建失败
网友评论