由于项目需求需要,故最近研究了一下jenkins这个工具,期间也是遇到了众多的阻断问题,下面记录下来
一、Jenkins是什么(借鉴官网)
Jenkins是一款开源 CI&CD 软件,用于自动化各种任务,包括构建、测试和部署软件。
Jenkins 支持各种运行方式,可通过系统包、Docker 或者通过一个独立的 Java 程序
二、使用Jenkins进行vue项目(单元)测试、打包
1、首先在公司提供的Jenkins平台上进行登录,(当然也可以自己下载Jenkins,下载环境和链接见官网)
登陆进去后,在最左边的框框里面点击 “新建一个item”,进入到如下页面,
输入你将要构建的项目名称
再点击“构建一个自由风格的软件项目”
然后进入到如下界面:
JIRA site:是要进行打包的代码仓库地址
选择 ‘’参数化构建过程‘’
name:是自定义分支的名字,
Description:用来描述上面的一些操作的文案
Default Value:是当检索git上的代码分支为空的时候,默认取在此输入的分支
再点击 “增加参数”,
选择 “选项参数”,
这个就是将来打包时要选择的环境sit、uat等等,界面填写如下:
若名称输入 env ,那么后面就会用${env}获取得到,若想在shell命令执行npm run 变量,那就可以用npm run ${env}
下面再进行配置 ‘’源码管理‘’,
1、选择git,里面的URL就是将要打包项目的git仓库地址
2、Credentials,按照如下
再者进入到触发构建器,此处不需要做啥处理
再者进入到构建环境中,按照如下图示选择,表示,再下一次构建的前期删除掉上次在工作空间构建好的打包文件
再者在这个选项中进行配置自身的node版本,一般jenkins会自动获取好
再者到了构建
选择 执行shell,在命令中输入将要打包时需要的命令
下面如果要将打包后的代码推到指定的服务器中,按照如下形式进行Add Server配置
指定服务器IP:就是把打包后的文件放置的服务器的IP地址
指定工作区间:就是将打包后的文件放置的位置
Exec command:是输入一些Linux命令,echo:表示输出,后面跟上输出的文本 mkdir表示:创建一个文件夹
若项目中引入了新包,导致jenkins打包时,出现代理问题,那就在npm install命令之前加上
sed -i ‘s#proxy#//proxy#’ ~/.npmrc 即过滤掉代理
#npm install yarn 前面加的那个#意思是,只需执行一次,后面直接拿缓存里的
三、接下来记录一下期间遇到的一些问题
1、没权限,需要开通相关权限
2、当出现下面这些错误时,首先是npm 版本不匹配,百度了很多方法都不妥,首先是改变npm版本,切换到版本4(npm -g install npm@4)、清除缓存(npm cache clean)等等,一堆的命令,均不起作用
都没解决问题,最终的解决方法:删除项目中的package-lock.js文件,再npm install 就大功告成