• centos下jenkins部署springboot项目(jar包)编写启动脚本


    1、环境的搭建

    • 以下环境的搭建均为本人实际操作,并记录的日志,若在搭建那过程中有任何疑问,请与作者联系,互相学习

    1、jdk安装
    https://blog.csdn.net/www1056481167/article/details/126028093
    2、git安装
    https://blog.csdn.net/www1056481167/article/details/126028234
    3、maven安装
    https://blog.csdn.net/www1056481167/article/details/126027146
    4、nodeJs的安装
    https://blog.csdn.net/www1056481167/article/details/125997256
    5、tomcat的搭建
    https://blog.csdn.net/www1056481167/article/details/115396974"
    6、jenkins的安装
    方式一:(推荐)
    war包部署在tomcat中方式:https://blog.csdn.net/www1056481167/article/details/126034277
    方式二:
    docker中安装jenkins:https://blog.csdn.net/www1056481167/article/details/125580290

    2、jenkins的全局工具配置

    在这里插入图片描述
    如果git一直拉取不下来项目,使用该命令which git(查看git的运行地址)因为很多人都出现拉去不下来没权限的问题

    [root@localhost git-2.9.5]# which git
    /usr/local/software/git/gitCompile/bin/git
    [root@localhost git-2.9.5]#
    
    • 1
    • 2
    • 3

    在这里插入图片描述

    3、jenkins的项目配置

    在这里插入图片描述
    说明
    1、git项目的指定。本人指定的是gitee的项目,此项目为本人自己搭建。已开放权限,全网均可拉去该项目测试

    https://gitee.com/xwb1056481167/jenkins-demo.git

    2、指定了触发器主要是为了在浏览器直接请求后,即可自动构建,不用进入jenkins后点击重新构建。
    该配置所对应的构建地址为(ip地址为你自己jenkins部署的服务器地址):

    http://192.168.11.133:8080/jenkins/job/jenkins-demo/build?token=JENKINS_TOKEN

    3、核心的为shell的编写,里面大致的逻辑是

    1、将jenkins目录拉取的项目移动到临时目录project下
    2、然后在project下进行maven的编译、打包
    3、将生成的jar文件放到jarRun目录下
    4、启动项目

    4、脚本信息(核心)

    #!/bin/bash
    source ~/.bash_profile
    source /etc/profile
    
    echo "==========definition param=========="
    APP_NAME=jenkins-demo
    APP_JAR=$APP_NAME.jar
    
    echo "==========join jenkins $APP_NAME workspace=========="
    cd /root/.jenkins/workspace/$APP_NAME/
    
    echo "==========create $APP_NAME project workspace=========="
    mkdir -vp /usr/local/software/project/$APP_NAME
    
    echo "==========copy $APP_NAME project to projectWork=========="
    \cp -R ../$APP_NAME/* /usr/local/software/project/$APP_NAME
    
    echo "==========go $APP_NAME projectWork=========="
    cd /usr/local/software/project/$APP_NAME
    
    echo "==========maven clean package=========="
    mvn clean package
    
    echo "==========create jarRun $APP_NAME workspace=========="
    mkdir -vp /usr/local/software/jarRun/$APP_NAME/
    
    echo "==========copy jar file to jarRun work=========="
    \cp -R /usr/local/software/project/$APP_NAME/target/$APP_NAME-1.1.0.jar /usr/local/software/jarRun/$APP_NAME/
    
    echo "==========delete target file=========="
    rm -rf target*
    
    echo "==========go jar workspace =========="
    cd /usr/local/software/jarRun/$APP_NAME/
    
    
    echo "==========update jar project name=========="
    mv -f $APP_NAME-1.1.0.jar $APP_NAME.jar
    
    echo "==========chmod file auth =========="
    chmod 777 $APP_NAME.jar
    
    echo "==========kill already exists jar start =========="
    tpid=`ps -ef|grep $APP_JAR|grep -v grep|grep -v kill|awk "{print $2}"`
    if [ ${tpid} ]; then
    echo "**********************Stop jar**********************"
    kill -9 $tpid
    fi
    echo "==========kill jar end =========="
    
    
    #ps -ef | grep "$APP_NAME" | grep -v grep |awk "{print $2}" |xargs kill -9
    echo "==========run java project=========="
    # nohup java -jar /usr/local/software/jarRun/$APP_NAME.jar &
    echo "********************************************************************"
    echo "****如果脚本使用nohup启动,则必须在他之前指定BUILD_ID(名字可以随便定义)**"
    echo "********************************************************************"
    BUILD_ID=jenkins-demo
    nohup java -jar $APP_NAME.jar > ../$APP_NAME/nohup.out 2>&1 &
    
    echo "==========SUCCESS=========="
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61

    5、启动项目后日志信息

    在这里插入图片描述

    6、启动成功后访问地址栏

    在这里插入图片描述

    在这里插入图片描述

  • 相关阅读:
    随笔Kubernetes
    MXNet对GoogLeNet的实现(并行连结网络)
    MySQL-存储过程(PROCEDURE)
    机器学习实战六步法之数据收集方法(四)
    RFID技术在仓储物流供应链管理中的应用
    个人数学建模算法库之非线性规划模型
    vue支付项目-APP支付宝支付功能
    基于springboot实现财务管理系统项目【项目源码+论文说明】
    为什么说Redis是单线程的以及Redis为什么这么快!
    开发类的工具
  • 原文地址:https://blog.csdn.net/www1056481167/article/details/126189181