jenkins自动化打包部署,jenkins执行sh脚本不退出问题

介绍

Jenkins是开源软件项目,主要用来自动化打包部署。使用jenkins彻底告别手动部署的麻烦与繁琐。

安装部署jenkins

  1. 官方下载地址
  2. 启动jenkins war包
  3. 登入jenkins
  4. 设置maven,jdk
    由于jenkins机器已有Maven与jdk,这里直接设置对应安装路径即可在这里插入图片描述在这里插入图片描述
    在这里插入图片描述
  5. 修改Jenkins工作目录
    Jenkins默认的工作目录很容易占满,在jenkins配置界面可以看到修改工作目录的流程。
    在这里插入图片描述

项目构建与部署

设置应用部署目标服务器

在这里插入图片描述

  1. 配置远程服务器ssh登录
    在这里插入图片描述
  2. 设置密码与超时时间

新增maven项目

  1. 输入项目名称,类型
    在这里插入图片描述

  2. 设置代码库,这里我使用的是svn
    在这里插入图片描述

  3. 设置编译脚本
    在这里插入图片描述
    点击高级,设置不触发下游工程任务。
    在这里插入图片描述

  4. 编译成功之后将可执行jar包推送到目标服务器并远程调用重启脚本
    在这里插入图片描述
    在这里插入图片描述
    执行之前要设置为pty环境,不然jenkins可能无法从非pty环境的脚本中退出
    在这里插入图片描述

  5. 保存jenkins配置

  6. 在目标服务器编写重启脚本

APP_NAME=/home/iic/static/xx.jar
#执行命令有误时,提示使用说明参数
usage() {
 echo "Usage: bash.sh [start|stop|restart|status]"
 exit 1
}

#检查程序是否已经在运行
is_exist(){
 pid=`ps -ef|grep $APP_NAME|grep -v grep|awk '{print $2}' `
if [ -z "${pid}" ]; then
 return 1
 else
 return 0
 fi
}

#启动服务
start(){
  is_exist
  if [ $? -eq "0" ]; then
    echo "${APP_NAME} is already running. pid=${pid} ."
  else
    java -XX:+UseG1GC -jar $APP_NAME --spring.profiles.active=prod &
  fi
}

#停止服务
stop(){
  is_exist
  if [ $? -eq "0" ]; then
    kill -9 $pid
  else
    echo "${APP_NAME} is not running"
  fi
}
#输出服务运行状态
status(){
  is_exist
  if [ $? -eq "0" ]; then
    echo "${APP_NAME} is running. Pid is ${pid}"
  else
    echo "${APP_NAME} is NOT running."
  fi
}

#重启服务
restart(){
  stop
  start
}

#根据输入参数,选择执行对应的方法,不输入则执行使用说明
case "$1" in
  "start")
    start
    ;;
  "stop")
    stop
    ;;
  "status")
    status
    ;;
  "restart")
    restart
    ;;
  *)
    usage
    ;;
esac

项目部署与发布

  1. 执行jenkins构建与发布
    在这里插入图片描述
  2. 查看jenkins执行结果
    在这里插入图片描述
    在这里插入图片描述
  3. 转到服务器查看部署结果
    在这里插入图片描述
    在这里插入图片描述

自动删除build记录

背景

build记录占用空间很大,不指定删除逻辑硬盘容易占满。

过程

  1. 为jenkins安装Configuration Slicing插件
    插件安装
  2. 安装插件后重启jenkins
  3. 通过插件给所有项目统一配置自动删除build记录
    进入插件
    在这里插入图片描述
    配置只保留5天build记录
    在这里插入图片描述
  4. 效果
    • 切换到单个工程查看自动删除记录逻辑
      逻辑图
    • 执行工程后在服务器通过命令du -h -x --max-depth=1观察相关目录占用空间
      结果图
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值