美文网首页
[图文一篇搞定]之jenkins远程部署boot和vue

[图文一篇搞定]之jenkins远程部署boot和vue

作者: 林亚希 | 来源:发表于2019-12-10 16:52 被阅读0次

前言

之前的文章有讲解到如何安装jenkins,部署boot以及vue。由于团队项目的增加,服务器不够使用,增加了测试服务器后需要能够远程部署的条件。

想法

jenkins+ssh+git远程部署项目并且启动。

使用

jenkins安装教程

  1. 接下来就是需要安装Publish Over SSH


    安装Publish Over SSH
  2. 配置远程服务器


    配置远程服务器

    系统管理-系统设置-Publish over SSH
    配置好服务器内容

Passphrase                服务器的密码
Path to key                 连接远程服务器密钥文件的路径
Key                             密钥文件的内容 
Name                         自定义服务器名
HostName                  服务器IP外网地址
UserName                  服务器用户名
Remote Directory       传输文件的目录
  1. 创建一个maven项目


    配置git
  2. 配置构建环境


    配置构建环境
    配置构建环境
  3. 配置构建完成后执行脚本
    这一步主要是打包vue,然后将编译完成的保压缩
#!/bin/bash
echo "Execute vue Start"
echo $PATH
cd venice-vue
node -v
npm -v
npm i
npm run build:prod
cd dist
tar -zcvf dist.tar.gz * 
配置构建完成后执行脚本

到这边在本服务器上的代码算是构建完成了。现在我们需要把本地打包的代码发布到远程服务器。

  1. 发布vue代码


    发布vue代码

    填写字段

Source files     项目构建后的目录
Remove prefix    去前缀
Remote directoty 发布的目录
Exec command     发布完执行的命令,我这边写的是发布完会重启tomcat

分享我的重启boot的执行脚本,会备份当前版本包


服务器目录结构
  • bak 存放备份应用包
  • jar 存放当前运行jar包
  • update 存放shell脚本以及服务上传过来的最新的版本包
  • www 存放前端页面
RESOURCE_NAME=dist.tar.gz
RESOURCE_PATH=/home/plusesb/onedis
#备份包
echo "----备份包----"
cp $RESOURCE_PATH/update/dist.tar.gz $RESOURCE_PATH/bak/dist.tar.gz.`date +%Y%m%d%H%M%S`
#清理文件
echo "----清理文件----"
rm -rf $RESOURCE_PATH/www/*
#解压文件
echo "----解压文件----"
mv $RESOURCE_PATH/update/dist.tar.gz $RESOURCE_PATH/www/
cd $RESOURCE_PATH/www/
tar -xvzf $RESOURCE_PATH/www/dist.tar.gz
  1. 发布jar包


    发布jar包
#!/bin/sh
RESOURCE_NAME=onedis-admin-1.0.jar
RESOURCE_PATH=/home/plusesb/onedis

#备份jar包
cp $RESOURCE_PATH/update/venice-admin-1.0.jar $RESOURCE_PATH/bak/$RESOURCE_NAME.`date +%Y%m%d%H%M%S`
#清理文件
mv  $RESOURCE_PATH/update/venice-admin-1.0.jar  $RESOURCE_PATH/jar/$RESOURCE_NAME

tpid=`ps -ef|grep $RESOURCE_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
if [ ${tpid} ]; then
echo 'Stop Process...'
kill -15 $tpid
fi
sleep 5
tpid=`ps -ef|grep $RESOURCE_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
if [ ${tpid} ]; then
echo 'Kill Process!'
kill -9 $tpid
else
echo 'Stop Success!'
fi

tpid=`ps -ef|grep $RESOURCE_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
if [ ${tpid} ]; then
    echo 'App is running.'
else
    echo 'App is NOT running.'
fi

rm -f tpid
nohup java -jar $RESOURCE_PATH/jar/$RESOURCE_NAME --spring.profiles.active=test > $RESOURCE_PATH/jar/admin-log.file 2>&1 &
echo $! > tpid

到此,我们就完整的实现了远程发布版本包的功能。接下来可能会选择通过git打tag的形式触发打包功能。

相关文章

网友评论

      本文标题:[图文一篇搞定]之jenkins远程部署boot和vue

      本文链接:https://www.haomeiwen.com/subject/qbkegctx.html