码迷,mamicode.com
首页 > 编程语言 > 详细

SpringBoot项目 使用Jenkins进行自动化部署 (gitLab管理项目)_

时间:2019-05-22 19:19:22      阅读:694      评论:0      收藏:0      [点我收藏+]

标签:vim   bash   mdi   服务器   red   project   ict   ima   maven   

1.部署服务器创建好对应文件夹和启动脚本

  • 创建文件夹
mkdir /wdcloud/app/rps/rps-module-category
  • 创建启动脚本
cd  /wdcloud/app/rps/rps-module-category
vim rps-module-category.sh
#!/bin/bash
APP_HOME=/wdcloud/app/rps/rps-module-category
APP_JAR=rps-module-category-*.jar
APP_PIDS=$(ps ax | grep java | grep $APP_HOME | grep -v grep | awk '{print $1}')

function start(){
    if [ -z "$APP_PIDS" ]; then
        echo "start project..."
        exec java -jar $APP_HOME/$APP_JAR  >/dev/null 2>&1 &
        echo "start project end..."
    else
        echo "warning: the spring boot server is started!!!====="$APP_HOME
        exit 1
    fi
}

function stop(){
    if [ -z "$APP_PIDS" ]; then
        echo "No spring boot server to stop"
    else
        echo "stop project..."
        kill -s TERM $APP_PIDS
        echo "stop project end..."
    fi
}


function restart(){
    stop
    sleep 3
    APP_PIDS=$(ps ax | grep java | grep $APP_HOME | grep -v grep | awk '{print $1}')
    start
}

case "$1" in
    start)  
    start
    ;;
    stop)
    stop
    ;;
    restart)
    restart
    ;;
    *)  
    printf 'Usage: %s {start|stop|restart}\n' "$prog"
    ;;
esac
exit 1

2.Jenkins 创建任务

输入任务名称 -> 选择流水线
技术图片

ok-> 选择丢弃旧的构建
技术图片

Pipeline - Script 输入对应脚本

node('master') {
    def mvnHome = tool 'maven11-free'
    def gitUrl = "http://gitlab.wdcloud.cc:10080/utility/rps/rps.git"
    def appName = "rps-module-category"
    def appPath = "/wdcloud/app/rps/rps-module-category"
    def nodeIp = "192.168.9.14"
    def profile = "test"
    
    stage('rmdir') {
        sh "rm -rf ./*"
    }
    stage('git') {
        git branch: 'master', credentialsId: 'd390694c-d99b-4eae-b7d3-f7b75095d29e', url: "${gitUrl}"
    }

    stage('Package') {
        sh "'${mvnHome}/bin/mvn' -Dmaven.test.failure.ignore -Dmaven.test.skip=true clean package"
    }
    
    stage('Deployment'){

        sh """
            ssh jetty@${nodeIp} "${appPath}/${appName}.sh stop || echo not running"
            ssh jetty@${nodeIp} "rm -rf ${appPath}/${appName}-*.jar"
            
            scp -o StrictHostKeyChecking=no -r rps-modules/${appName}/target/${appName}-*.jar jetty@${nodeIp}:${appPath}/
            
            ssh jetty@${nodeIp} "${appPath}/${appName}.sh start || echo not running"
        """
    }
}

技术图片

点击保存 配置完成

3.Jenkins 构建项目 即可进行自动化部署

技术图片

SpringBoot项目 使用Jenkins进行自动化部署 (gitLab管理项目)_

标签:vim   bash   mdi   服务器   red   project   ict   ima   maven   

原文地址:https://www.cnblogs.com/zhucww/p/10907724.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!