前端自动化部署基于jenkins和gitlab

一个项目的三个环节,开发环境,测试环境,生产环境,然后每次 npm 打包ftp去拖是不是很麻烦,只想一次提交git后不同环境就能够根据不同环境的对应的分支进行打包,代码发布。
jenkins和gitlab配合起来的确是特别爽
首先在安装了jenkins的服务器上配置node环境

1、wget https://npm.taobao.org/mirrors/node/v8.11.3/node-v8.11.3-linux-x64.tar.xz
2、tar -xvf node-v8.11.3-linux-x64.tar.xz
3、npm config set prefix “/usr/local/node-v8.11.3-linux-x64/node_global”
4、npm config set cache “/usr/local/node-v8.11.3-linux-x64/node_cache”
5、npm config set registry https://registry.npm.taobao.org
6、npm install vue-cli -g

然后genkins需要先安装git插件,下载地址
http://updates.jenkins-ci.org/download/plugins/gitlab-plugin/
这里安装它
前端自动化部署基于jenkins和gitlab_第1张图片
然后新建任务
前端自动化部署基于jenkins和gitlab_第2张图片

输入项目名字,选择第一个自由风格的软件项目、
前端自动化部署基于jenkins和gitlab_第3张图片

源码管理,gitlab上的仓库地址url
前端自动化部署基于jenkins和gitlab_第4张图片
如图片中提示报错,应该填写的是url哦
http://192.168.0.11/front-test/front-test.git
在安装jenkins的服务器上查看git是否安装
git --version
前端自动化部署基于jenkins和gitlab_第5张图片
没有者安装
全局工具里配置git
前端自动化部署基于jenkins和gitlab_第6张图片
添加 Credentials

前端自动化部署基于jenkins和gitlab_第7张图片
输入gitlab 登录帐号密码
前端自动化部署基于jenkins和gitlab_第8张图片
选择分支
这里写图片描述

构建里填写shell ,npm 打包命令
前端自动化部署基于jenkins和gitlab_第9张图片

echo $PATH
node -v
npm -v 
npm install
npm run build
cd /var/lib/jenkins/workspace/frontend-test/dist
tar -zcvf dist.tar.gz *

打包后需要把代码到dev服务器
填写如下
前端自动化部署基于jenkins和gitlab_第10张图片

Source files 打包后的资源文件
Remote directory 远程目录 即dev的上要放的项目目录
Exec command 在dev上要执行的sh脚本,解压删除等

配置Remote directory路径和开发服务地址
系统管理—系统设置
前端自动化部署基于jenkins和gitlab_第11张图片

前端自动化部署基于jenkins和gitlab_第12张图片

然后保存点击 立即构建
前端自动化部署基于jenkins和gitlab_第13张图片

但是呢会报错
这里写图片描述

修改一下执行shell对文件的删除进行判断

echo $PATH
if [ -f "/var/lib/jenkins/workspace/frontend-test/dist/dist.tar.gz" ]; then
	rm /var/lib/jenkins/workspace/frontend-test/dist/dist.tar.gz
	echo "删除dist-tar"
fi
node -v
npm -v 
npm install
npm run build
cd /var/lib/jenkins/workspace/frontend-test/dist
tar -zcvf /var/lib/jenkins/workspace/frontend-test/dist/dist.tar.gz *

如图
前端自动化部署基于jenkins和gitlab_第14张图片
同时修改开发服上sh命令
前端自动化部署基于jenkins和gitlab_第15张图片

cd /var/www/html/
pwd 
ls -l

if [ -f "index.html" ]; then
	rm index.html
fi

if [ -d "static/" ]; then
	rm -rf static
fi

if [ -f "dist.tar.gz" ]; then
	tar -xzvf dist.tar.gz
	rm dist.tar.gz
fi

然后点击构建
控制台结尾输出
前端自动化部署基于jenkins和gitlab_第16张图片

你可能感兴趣的:(js前端,ubuntu,vue,webpack,android,react-native,react,react,es6,vagrant)