• jenkins+maven+svn实现springboot项目的自动化部署过程


    说明:部署springboot项目的jar

    前提(参考:https://www.cnblogs.com/myitnews/p/11493779.html):

    • 全局安全配置(前面配置过)
    • 全局工具配置(前面配置过)
    • 管理插件(根据需要安装插件,前面配置过)
    • 已将项目代码提交到SVN仓库。

    1. 创建任务

     

    2. 配置项目

    (1) General

    勾选丢弃旧的构建,选择是否备份被替换的旧包。我这里选择备份最近的10个。

    (2) 源码管理

    (3) 构建环境

    代码构建的过程中会将日志打印出来。

     (3) Build

    clean install -Dmaven.test.skip=true -Ptest

    (4) Post Steps

    #!/bin/bash
    # /opt/jenkins/deploy/是新建的目录
    # 大致意思就是进入目录,stop.sh:停止应用; replace.sh:拷贝应用jar; startup.sh:运行jar
    cd /opt/jenkins/deploy/
    ./stop.sh
    ./replace.sh
    echo "Execute shell Finish"
    
    BUILD_ID=dontKillMe nohup /opt/jenkins/deploy/startup.sh &

    在/opt/jenkins/deploy/目录下创建startup.sh、stop.sh、replace.sh。

    stop.sh、replace.sh和startup.sh内容如下:

    stop.sh

    #!/bin/bash
    # stop.sh
    # shelloworld-0.0.1-SNAPSHOT.jar是生成的jar包名称
    echo "Stopping SpringBoot"
    pid=`ps -ef | grep shelloworld-0.0.1-SNAPSHOT.jar | grep -v grep | awk '{print $2}'`
    if ["$pid" == ""]
        then
            echo "helloboot is already stop!"
    else
        echo "kill -9 的pid:"+$pid
        kill -9 $pid
    fi

    replace.sh

    #!/bin/bash
    # replace.sh
    # HelloWorld 是在Jenkins中创建的任务名称
    # /opt/jenkins/project 是新建存放jar包的目录,将Jenkins生成的jar包拷贝到这个目录下
    cp /root/.jenkins/workspace/HelloWorld/target/shelloworld-0.0.1-SNAPSHOT.jar /opt/jenkins/project

    startup.sh

    #!/bin/bash
    # startup.sh
    java -jar /opt/jenkins/project/shelloworld-0.0.1-SNAPSHOT.jar>log.file 2>&1&

    3. 立即构建,查看控制台输出,成功后,浏览器访问。

  • 相关阅读:
    【原创】ZYNQ学习笔记(一) HelloWorld实现
    设置毛玻璃效果
    什么是UIImageView
    短信监听器
    内容观察者
    插入联系人
    UIFont
    什么是UILabel
    读取联系人案例
    利用内容提供者插入短信
  • 原文地址:https://www.cnblogs.com/myitnews/p/11497231.html
Copyright © 2020-2023  润新知