jenkins启动脚本,jar包自动化启动脚本
//启动jenkins.war
#!/bin/bash
## war包名称
JAR_NAME="jenkins.war"
## 查找是否有运行的jenkins.war 返回pid
pid=`ps -ef | grep $JAR_NAME | grep -v grep | awk '{print $2}'`
## 输出的日志位置 如果报文件不存在,就在jenkins目录下touch nohup.out,就ok了
LOG_PATH=/www/server/jenkins/nohup.out
## 如果pid不存在,说明没有正在运行的jenkins.war,直接启动
if [ -z $pid ]; then
## 台运行 jenkins.war --httpPort指定端口8080 ,如果端口被占用了,可指定其他端口
## 因为我使用了nginx代理端口,所以使用 --prefix 指定了请求前缀为/jenkins 这个需要在nginx中配置相同前缀/jenkins,就可以外网访问jenkins了
## 如果没有使用反向代理,就不需要添加 --prefix="/jenkins" 这一截
nohup java -jar $JAR_NAME --httpPort=8080 --prefix="/jenkins" > $LOG_PATH 2>&1 &
## 查看启动后的pid
pid=`ps -ef | grep $JAR_NAME | grep -v grep | awk '{print $2}'`
echo "Service ${JAR_NAME} is started!pid=${pid}"
## 动态查看启动日志
tail -f ${LOG_PATH}
## 如果pid存在,说明有正在运行的jenkins.war,需要先杀掉这个进程,再重新启动jenkins.war
else
## 杀掉已有进程
kill -9 $pid
## 重新运行jenkins.war
nohup java -jar $JAR_NAME --httpPort=8080 --prefix="/jenkins" > $LOG_PATH 2>&1 &
echo "Service ${JAR_NAME} is restarted!pid=${pid}"
tail -f ${LOG_PATH}
fi
//目的把jenkins工作目录中打包好的jar包复制到自己的项目路径下并且启动服务
#!/bin/bash
#//解决jar执行不了的bug
source /etc/profile
#服务名称
SERVER_NAME=manage-admin
# 源jar路径,mvn打包完成之后,target目录下的jar包名称,也可选择成为war包,war包可移动到Tomcat的webapps目录下运行,这里使用jar包,用java -jar 命令执行
JAR_NAME=manage-admin
# 源jar路径
#/usr/local/jenkins_home/workspace--->jenkins 工作目录
#demo 项目目录
#target 打包生成jar包的目录
JAR_PATH=/root/.jenkins/workspace/便便小程序-manage/default/manage-admin/target
# 打包完成之后,把jar包移动到运行jar包的目录--->work_daemon,work_daemon这个目录需要自己提前创建
JAR_WORK_PATH=/www/project
# 打包完成之后,把jar包移动到运行jar包的目录--->work_daemon,work_daemon这个目录需要自己提前创建
PID=`ps -ef | grep "$SERVER_NAME" | awk '{print $2}'`
#判断
if [ $PID -le 0 ];then
echo "有进程,结束。"
#结束
kill -9 $id
#复制jar包到执行目录
echo "没有进程 ,复制jar包到执行目录:cp $JAR_PATH/$JAR_NAME.jar $JAR_WORK_PATH"
cp $JAR_PATH/$JAR_NAME.jar $JAR_WORK_PATH
echo "复制jar包完成"
cd $JAR_WORK_PATH
#修改文件权限
chmod 755 $JAR_NAME.jar
java -jar $JAR_NAME.jar
else
#复制jar包到执行目录
echo "没有进程 ,复制jar包到执行目录:cp $JAR_PATH/$JAR_NAME.jar $JAR_WORK_PATH"
cp $JAR_PATH/$JAR_NAME.jar $JAR_WORK_PATH
echo "复制jar包完成"
cd $JAR_WORK_PATH
#修改文件权限
chmod 755 $JAR_NAME.jar
nohup java -jar $JAR_NAME.jar > admin.txt &
echo "nohup ${JAR_NAME} start success"
fi