使用jenkins在服务器部署项目首先要安装jdk和jenkins

centos部署zfs centos部署vue项目_centos部署zfs


完成插件后

1,进入jenkins创建一个job

centos部署zfs centos部署vue项目_远程服务器_02


选择一个自由风格的软件项目

2,源码管理

centos部署zfs centos部署vue项目_centos部署zfs_03


私有仓库要输入账号密码

centos部署zfs centos部署vue项目_服务器_04

3,构建环境

centos部署zfs centos部署vue项目_服务器_05

4,环境

centos部署zfs centos部署vue项目_vue_06


添加shell命令

npm install 
rm -rf ./dist/*
npm run build
rm -rf /www/web/site/*
cp -rf ./dist/* /www/web/site

npm install :下载工作区npm包
rm -rf ./dist/* :删除dist目录下的所有文件,dist目录即为当前jenkins工作区打包后的文件。
npm run build :执行打包命令
rm -rf /www/web/site/* :删除服务器上/www/web/site/ 目录下的所有文件/www/web/site/ 为服务器项目放置位置。
cp -rf ./dist/* /www/web/site :把当前构建工作区dist目录里的文件 copy 到服务器/www/web/site 文件夹下。
此时一个vue自动化部署就完成了

下面是权限的配置

权限配置需要安装插件Role-based Authorization Strategy

直接在插件管理里面搜索,搜索不到的可以在下面的地址下载上传

安装插件下载地址:https://updates.jenkins-ci.org/download/plugins/role-strategy/

centos部署zfs centos部署vue项目_远程服务器_07


第一步先在manage role里面配置

centos部署zfs centos部署vue项目_linux_08


1,添加一个开发账号只能构建任务,没有jenkins的其他权限,先设置一个全局可读的全局角色

centos部署zfs centos部署vue项目_vue_09

2,再设置一个项目角色,pattern可以写全匹配vue-app | vue-app.*两种方式

centos部署zfs centos部署vue项目_linux_10


3,分配角色需要先分配一个全局角色可读的

centos部署zfs centos部署vue项目_远程服务器_11


在分配一个项目角色

centos部署zfs centos部署vue项目_centos部署zfs_12


保存就完成了不同角色管理不同项目的权限配置了

jenkins的一些命令

# 启动
service jenkins start
# 重启
service jenkins restart
# 停止
service jenkins stop

打包vue项目上传至远程服务器
1.xshell命令

# cd /var/jenkins_home/workspace/[promise] #进入test项目目录
npm install chromedriver --chromedriver_cdnurl=http://cdn.npm.taobao.org/dist/chromedriver
npm install
npm run build
cd dist
rm -rf test.tar.gz #删除上次打包生成的压缩文件
tar -zcvf test.tar.gz * #把生成的项目打包成test方便传输到远程服务器
cd ../
  1. 上传至远程服务器
    选择“构建后操作步骤”—“Send build artifacts over SSH” 。
    Name:第三步创建的远程服务器名称
    Source files:本地需要传输过去的文件路径
    Remove prefix:过滤掉的目录名
    Remote directory:远程服务器的保存路径
    Exec command:传输完成后在远程服务器执行的sh命令
cd /data/deploy/front/dist/resource-school
tar -zxvf dist.tar.gz -C /dist