Jenkins一键部署

Jenkins一键部署,前期准备工作,安装jdk,maven,jenkins,git;
在Jenkins上新建任务并配置
在这里插入图片描述
填写git地址,用户,选择分支
在这里插入图片描述
填写maven配置信息
填写要执行的脚本
在这里插入图片描述
bash /opt/movejars/zk_test_movejars.sh 是 执行Jenkins所在的服务器的脚本,让我们来康康这个脚本里具体是什么

#! /bin/bash
#项目构建名,即Jenkins项目名称
JOB_NAME=test_web_combine_zk
#jenkins_home的位置,这个路径下存放的,是我们从git上拉下来的项目
BASE_PATH=/var/lib/jenkins/workspace/$JOB_NAME
#jar运行路径
JAR_HOME=/opt/web_combine_test_zk
#各个服务的jar,为了方便,我将变量写死了
API_JAR=admin/admin-api/target/admin-api.jar
GATE_JAR=admin/gateway/target/admin-gateway.jar
OPE_JAR=service/operation/operation-server/target/operation-server.jar
SYS_JAR=service/sys/sys-server/target/sys-server.jar
#这当然是服务器的IP啦
IP4=192.168.XX.XX

#然后呢,我们就来执行其他脚本,如果是在本机上的脚本,就用bash $JAR_HOME/mkdir.sh,如果是在其他服务器上,就用ssh root@$IP1 "bash $JAR_HOME/mkdir.sh"
#bash $JAR_HOME/mkdir.sh
#ssh root@$IP1 "bash $JAR_HOME/mkdir.sh"
ssh root@$IP4 "bash $JAR_HOME/mkdir.sh"

#同理,本机用cp $BASE_PATH/$OPE_JAR $JAR_HOME/tmp/,远程拷贝用scp $BASE_PATH/$GATE_JAR root@$IP4:$JAR_HOME/tmp/
#cp $BASE_PATH/$OPE_JAR $JAR_HOME/tmp/
scp $BASE_PATH/$OPE_JAR root@$IP4:$JAR_HOME/tmp/
scp $BASE_PATH/$API_JAR root@$IP4:$JAR_HOME/tmp/
scp $BASE_PATH/$GATE_JAR root@$IP4:$JAR_HOME/tmp/
scp $BASE_PATH/$SYS_JAR root@$IP4:$JAR_HOME/tmp/

那么,mkdir.sh这个脚本里有什么玩意呢

#! /bin/bash

#文件路径
BASE_PATH=/opt/web_combine_test_zk/tmp

#文件夹不存在则创建
if [ ! -d $BASE_PATH ];then
mkdir $BASE_PATH
else
rm -rf $BASE_PATH/*
fi

没错,就是在文件夹下创建tmp文件
接下来就是
cleanStart.sh这个脚本了

#! /bin/bash
#进入到脚本所在文件夹
cd /opt/web_combine_test_zk

#执行killAll.sh脚本
bash ./killAll.sh
#删除原来的running
rm -rf ./running
#将新的tmp改为running
mv ./tmp ./running

sleep 5
#执行start脚本
bash ./start.sh

killAll.sh

#! /bin/bash
#杀死所有的进程 kill -9
LIST="admin-api.jar admin-gateway.jar operation-server.jar sys-server.jar"

for jar in  $LIST;
do
ID=`ps -ef | grep "$jar" | grep -v "$0" | grep -v "grep" | awk '{print $2}'`
if [[ $ID >0 ]];then
        echo $jar $ID ;
        kill -9 $ID
fi
done

最后,最麻烦,也是最重要的就是start.sh脚本

#! /bin/bash
#进入到脚本所在文件夹
BASE_PATH="/opt/web_combine_test_zk"

JAVA_HOME="/usr/local/java/jdk1.8.0_191/bin"

#这里nohup需要注意,在执行java命令时,需要绝对路径的Java,之前因为在环境变量中配置过JAVA_HOME,所以想直接写java,但总是不能启动,坑的一批,而且要用双引号。。。
COMMON_TOP_NOPP="nohup $JAVA_HOME/java -server -XX:NewSize=1g -XX:MaxNewSize=2g -XX:SurvivorRatio=8 -Xmx2g -Xms1g -XX:+UseG1GC -XX:MaxTenuringThreshold=0 -jar "
#-Dspring.profiles.active=test,test开发环境的profile
#-Dspring.cloud.nacos.discovery.namespace=ZK_TEST,ZK_TEST是指在nacos中的命名空间
COMMON=" -Dspring.profiles.active=test -Dspring.cloud.nacos.discovery.namespace=ZK_TEST "

#admin-api
$COMMON_TOP_NOPP $COMMON -Dserver.port=30301 $BASE_PATH/running/admin-api.jar   >> admin-api.out 2>&1 &

#gateway
$COMMON_TOP_NOPP $COMMON -Dserver.port=30304  $BASE_PATH/running/admin-gateway.jar  >> gateway.out 2>&1 &

#operation
$COMMON_TOP_NOPP $COMMON  -Dserver.port=30212 $BASE_PATH/running/operation-server.jar  >> operation-server.log 2>&1 &

#sys
$COMMON_TOP_NOPP $COMMON -Dserver.port=30218 $BASE_PATH/running/sys-server.jar   >>sys-server.out 2>&1 &

最后,我们只需要在Jenkins中点击立即构建,便可一键部署
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值