利用Jenkins来操作Linux进程重启、查看状态、停止

  • 以Redis为例

1.安装好后,进入Redis目录

cd /home/apps/redis/redis-5.0.7/src

2.创建三个执行文件

  • 创建重启进程的restart.sh文件,加文件可执行
    chmod +x restart.sh
base_path=/home/apps/redis/redis-5.0.7/src
cd $base_path
#redis.pid是一个用于记录进程Pid的文件
flag=start
if [ -f redis.pid ]; then
 #获取进程Pid,会把pid值提取出来到变量REDIS_PID中
 source redis.pid
 #停止这个进程
 kill -9 ${REDIS_PID}
 flag=restart
fi
#执行启动操作,输出日志到log.txt文件,最后的&表示在后台继续执行这个进程
./redis-server ../redis.conf >log.txt 2>&1 &
#获取到上述这个进程的Pid到变量pid
pid=$!
#将 REDIS_PID=xxx 内容写入到redis.pid文件中
echo REDIS_PID=${pid} > redis.pid
echo "$flag redis service success [$pid]."
  • 创建查看进程状态的showstate.sh文件,加文件可执行
    chmod +x showstate.sh
base_path=/home/apps/redis/redis-5.0.7/src
cd $base_path
#查询网络端口中redis进程的数量
count=`netstat -tunlp|grep redis`
#如果进程数量大于1,说明进程运行中
if [ ${#count} -gt 1 ]; then
 #打印到控制台有关redis的进程信息
 netstat -tunlp|grep redis
 echo "redis service is running."
else
 echo "redis service is stopped"
fi
  • 创建停止进程的shutdown.sh文件,加文件可执行
    chmod +x shutdown.sh
base_path=/home/apps/redis/redis-5.0.7/src
cd $base_path
#判断redis.pid文件是否存在
if [ -f redis.pid ]; then
 source redis.pid
 #停止进程
 kill -9 ${REDIS_PID}
 rm redis.pid
 echo "stop redis service success."
else
 echo "redis service is stopped."
fi

3.在Jenkins上创建三个任务

  • 创建重启进程的redis - restart任务
#!/bin/bash
BASE_PATH=/home/apps/redis
APP_NAME=redis-5.0.7

#Jenkins防杀前置处理
OLD_BUILD_ID=$BUILD_ID
echo $OLD_BUILD_ID
export BUILD_ID=dontKillMe

#开始执行********
$BASE_PATH/$APP_NAME/src/restart.sh
#完成执行********

#Jenkins防杀后置处理
export BUILD_ID=$OLD_BUILD_ID

创建好后是这样的[构建-执行shell]:
利用Jenkins来操作Linux进程重启、查看状态、停止_第1张图片

  • 创建查看进程状态的redis - status任务
#!/bin/bash
BASE_PATH=/home/apps/redis
APP_NAME=redis-5.0.7

#开始执行********
$BASE_PATH/$APP_NAME/src/showstate.sh
#完成执行********

创建好后是这样的[构建-执行shell]:
利用Jenkins来操作Linux进程重启、查看状态、停止_第2张图片

  • 创建停止进程的redis - stop任务
#!/bin/bash
BASE_PATH=/home/apps/redis
APP_NAME=redis-5.0.7

#开始执行********
$BASE_PATH/$APP_NAME/src/shutdown.sh
#完成执行********
利用Jenkins来操作Linux进程重启、查看状态、停止_第3张图片

4.构建后的效果

  • 构建重启任务
    利用Jenkins来操作Linux进程重启、查看状态、停止_第4张图片
  • 构建查看状态任务
    利用Jenkins来操作Linux进程重启、查看状态、停止_第5张图片
    利用Jenkins来操作Linux进程重启、查看状态、停止_第6张图片
  • 构建停止的任务
    利用Jenkins来操作Linux进程重启、查看状态、停止_第7张图片

5.其他说明

完成,也许牛批的大佬会直接写在Jenkins构建配置里面…

你可能感兴趣的:(Jenkins)