总体流程
前端vue打包项目成dist->上传到svn指定路径下->jenkins负责执行shell,将原先dist删除,svn客户端下载最新dist,并放置在nginx代理路径下,通过chmod赋值访问权限->通过nginx代理访问前端项目成功
注意:没有直接用npm install,在服务器编译vue项目是因为npm install耗时比较长,耽误时间,此步骤前端也还比较省时间。
实现步骤
第一步:
需要安装svn客户端地址 wget http://www.webdav.org/neon/neon-0.29.0.tar.gz
./configure --prefix=/opt/subversion --with-apr-util=/opt/apr-util --with-apr=/opt/apr --with-zlib=/opt/zlib --enable-maintainer-mode >logfile
注意:安装svn的http功能,neon尝试各个版本都报如下错误,尝试了neon各个版本。只有neon-0.30.2.tar.gz,不报该错误。但是后来通过查看logfile,我本地兼容的是neon-0.29.0版本编译安装,但是还是改错。心中万分崩溃,查看logfile日志中,有方案二可以将neon-0.29.0解压放到subversion目录下并更名为neon,后续随svn一同编译后,尽然成功了。后续再去安装单独安装neon-0.29.0也成功了奔溃o(╥﹏╥)o,其他插件安装问题都可在网上找到答案。
错误:
/bin/sh ../libtool --quiet --mode=compile gcc -DHAVE_CONFIG_H -I.. -g -O2 -prefer-pic -c ne_socket.c -o ne_socket.lo
error :dereferencing pointer to incomplete type
配置svn环境变量,使用svn --version命令查看svn是否安装完成。由于是通过http获取svn,需确保ra_neon安装完成
第二步:
执行命令svn checkout http://xxx.xxx.xxx.xxx/svn/xxx,第一次访问会要求输入密码,输入用户密码,保存到服务器硬盘上。
后续svn checkout就无需输入密码了。
第三步:
配置源码管理如(图一),配置执行shell如(图二),下面有具体shell代码
(图一)
(图二)
FILE_PATH=/var/wwwif [ ! -d $FILE_PATH ];then mkdir -p $FILE_PATHfiFILE_NAME=distcd $FILE_PATHrm -rf $FILE_NAMEsleep 10/opt/subversion/bin/svn checkout http://xxx.xxx.xxx.xxx/svn/xxxchmod 775 -R dist
第四步:
执行jenkins部署构建项目