当前位置: 首页 > article >正文

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

http://www.kler.cn/a/448711.html

相关文章:

  • CMake的INSTALL FILES和INSTALL DIRECTORY有什么区别
  • 使用 AI 辅助开发一个开源 IP 信息查询工具:一
  • 冯诺依曼架构与哈佛架构的对比与应用
  • WPF 使用LibVLCSharp.WPF实现视频播放、停止、暂停功能
  • “宏“知识详解
  • git remote -v(--verbose)显示你的 Git 仓库配置的远程仓库的详细信息
  • 如何解决微信小程序使用webview无法打开
  • Windows系统中使用git常见问题解决方案
  • 【项目实战】redis实现websocket分布式消息推送服务
  • 在 C# 中实现的目录基础操作
  • 【SpringBoot】日志文件
  • SpringBoot 整合 SQLite 数据库
  • 深入解析:Python中的决策树与随机森林
  • vue CSS 自定义宽高 翻页 剥离 效果
  • 解决 Ubuntu 24 连接正点 I.MX6ULL 的 uboot 使用 nfs 出现 Loading: T T T T T T T T
  • RCE总结
  • YOLOv9-0.1部分代码阅读笔记-general.py
  • Pinia---新一代的Vuex
  • OpenEuler 22.03 不依赖zookeeper安装 kafka 3.3.2集群
  • 基于微信小程序的短视频系统(SpringBoot)+文档
  • [c++进阶(三)]单例模式及特殊类的设计
  • [python] 基于matplotlib实现雷达图的绘制
  • springboot连接mongo性能优化参数配置
  • 智能汽车自动驾驶发展趋
  • AI 视频:初识 Pika 2.0,基本使用攻略
  • 探索Python的pytest库:简化单元测试的艺术