zoukankan      html  css  js  c++  java
  • 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. 立即构建,查看控制台输出,成功后,浏览器访问。

  • 相关阅读:
    MySql索引
    MySql事务、隔离级别
    41. 缺失的第一个正数
    442. 数组中重复的数据
    448. 找到所有数组中消失的数字
    转载:神奇的 SQL 之 联表细节 → MySQL JOIN 的执行过程(二)
    转载:神奇的 SQL 之 联表细节 → MySQL JOIN 的执行过程(一)
    697. 数组的度
    第三章 进程描述与控制
    C++ 对象成员函数(非静态方法)
  • 原文地址:https://www.cnblogs.com/myitnews/p/11497231.html
Copyright © 2011-2022 走看看