linux jenkins部署脚本,shell 上线脚本(jenkins部署)

shell 上线脚本(jenkins部署)

795ca3301cef9026e406b967dd9159b8.png

jenkins 部署脚本依赖 jenkins 插件结合 gitlab+maven+构建后通知,比较之前写的脚本,更能完善发布流程,测试环境发布如下。

登录jenkins后,使用测试账号登录,选择自己需要构建的项目——》点击进入后——》Build with Parameters ——》根据测试需求,选择分支打包

9c9e8203b68d5fe0eeeec15c69365a18.png

构建过程中自动构建,判断,有问题自动暂停

bb6e04dad38754027100fd65a51ad165.pngbb6e04dad38754027100fd65a51ad165.png

最后通知构建成功,并发送邮件

d8f1c2989137e4564c5bd624ee2855f3.png

脚本如下:

# 192.168.10.91 上面编译

cd /root/.jenkins/workspace/test自营aumtest_platform-admin2 && /usr/local/apache-maven/bin/mvn clean package -Dmaxmemory=500M -Dmaven.test.skip=true -U

# 判断是否有编译问题

NUM2=`echo $?`

if [[ $NUM2 != 0 ]];then

echo -e "\033[41;37m 第二步:$APP_NAME编译 检查有问题请查看 \033[0m"

exit

else

echo -e "\033[32m $APP_NAME 编译 没有问题 \033[0m"

fi

# 远程调用192.168.10.187

ssh root@192.168.10.187 "sh /home/work/script/devops/aumtest_platform-admin.sh golive"

# 远程调用192.168.10.187 脚本

[root@jobadmin devops]# cat aumtest_platform-admin.sh

#!/bin/sh

#########

# 积存金上线脚本

# by xuebao 20180709

#########

APP_NAME="platform-admin.jar"

TIME=$(date +%F_%H_%M_%S)

APP_LIST="platform-admin"

# 启动命令

start() {

cd /usr/local/apps/$APP_LIST/ && sh start.sh

}

# 停止命令

stop(){

cd /usr/local/apps/$APP_LIST/ && sh stop.sh

sleep 3

APP_PID=`ps -ef|grep java|grep $APP_NAME|awk '{print $2}'`

SERVER_ID=`ps -ef|grep java|grep $APP_NAME|wc -l`

SERVER_STATUS="ps -ef|grep java|grep $APP_NAME"

if [[ $SERVER_ID == 1 ]];then

echo -e "\033[41;37m 第三步:$APP_NAME 应用停止失败,使用kill -9 $PID \033[0m"

kill -9 $APP_PID

ps -ef|grep java|grep $APP_NAME

exit

else

echo -e "\033[32m 第三步:$APP_NAME 应用已停止成功 \033[0m"

fi

}

# 上线模块

golive() {

echo -e "\033[32m 第四步:$APP_NAME3 开始部署\033[0m"

ssh root@192.168.10.91 "sh -x /home/work/script/devops/zy_aumtest-platform-admin.sh"

}

# 状态模块

status() {

SERVER_ID2=`ps -ef|grep java|grep $APP_NAME|wc -l`

APP_NAME4="platform-admin.jar"

if [[ $SERVER_ID2 == 1 ]];then

echo -e "\033[32m 第五步:$APP_NAME4 部署成功: $APP_NAME4 服务START...... \033[0m"

else

echo -e "\033[41;37m 第五步:$APP_NAME4 部署失败: $APP_NAME4 服务STOP...... \033[0m"

fi

ls -lrth /usr/local/apps/platform-admin/target/

ps -ef|grep java|grep $APP_NAME4

}

# 回滚脚本

rollback() {

cd /home/jcjuser/apps/goldadmin/target/

mv $INPUT2 goldadmin-1.0-SNAPSHOT.jar

ls -lrth goldadmin-1.0-SNAPSHOT.jar*

}

# 查询备份列表

list(){

cd /home/jcjuser/apps/goldadmin/target/

ls -lrth goldadmin-1.0-SNAPSHOT.jar_*

}

# 判断模块

decide() {

SERVER_ID3=`ps -ef|grep java|grep $APP_NAME|wc -l`

APP_NAME5="platform-admin.jar"

if [[ $SERVER_ID3 == 1 ]];then

echo -e "\033[32m $APP_NAME4 服务START 中可以进行下一步部署..... \033[0m"

else

echo -e "\033[41;37m $APP_NAME4 应用状态停止中,下面会报错ERROR: The goldadmin does not started!,请忽略...... \033[0m"

fi

}

main() {

INPUT1=$1

INPUT2=$2

case $INPUT1 in

golive)

decide

stop

golive

start

status

;;

rollback)

stop

rollback $INPUT2

start

status

;;

list)

list

;;

start)

start

status

;;

status)

status

;;

stop)

stop

;;

*)

echo -e "\033[41;37m sh /home/jcjuser/shell/jcjwap_ops.sh {golive|rollback|list 提示:如果回滚前请查看列表} \033[0m"

exit

;;

esac

}

main $1 $2

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值