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

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 [email protected]${nodeIp} "${appPath}/${appName}.sh stop || echo not running"
            ssh [email protected]${nodeIp} "rm -rf ${appPath}/${appName}-*.jar"

            scp -o StrictHostKeyChecking=no -r rps-modules/${appName}/target/${appName}-*.jar [email protected]${nodeIp}:${appPath}/

            ssh [email protected]${nodeIp} "${appPath}/${appName}.sh start || echo not running"
        """
    }
}

点击保存 配置完成

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

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

时间: 2024-10-08 17:04:10

SpringBoot项目 使用Jenkins进行自动化部署 (gitLab管理项目)_的相关文章

基于Jenkins Pipeline自动化部署

最近在公司推行Docker Swarm集群的过程中,需要用到Jenkins来做自动化部署,Jenkins实现自动化部署有很多种方案,可以直接在jenkins页面写Job,把一些操作和脚本都通过页面设置,也可以在每个项目中直接写Pipeline脚本,但像我那么优秀,那么追求极致的程序员来说,这些方案都打动不了我那颗骚动的心,下面我会跟你们讲讲我是如何通过Pipeline脚本实现自动化部署方案的,并且实现多分支构建,还实现了所有项目共享一个Pipeline脚本. 使用Jenkins前的一些设置 为了

jenkins实现自动化部署及服务重启-初级

jenkins实现自动化部署及服务重启-初级 一.说明 部署jenkins 主要用于web界面化的代码上传.生产服务重启.还未涉及到svn中的代码打包,后期会配合开发同事一起完成此功能.使用jenkins而不是脚本执行主要作用是为了方便版本控制.减少人为失误导致.而jenkins主要是作为可视化的一个框架使用,核心还是各类脚本的执行.而此篇内容主要是讲解如果搭建jenkins,脚本内容将在后续逐个展示,因为作者运用jenkins比较粗浅,也在不断摸索中,此篇文章也是为菜鸟朋友们准备的,希望借鉴此

自动化部署java maven项目到多个目标主机的Shell脚本

本篇是<Linux Shell脚本之远程自动化部署java maven项目>的姊妹篇,但包含了bug.issue修正和添加了更多的支持特性,可以从GitHub上获取最新脚本内容:https://github.com/DingGuodong/AutomaticDeployJavaMavenProject . 自动化部署java maven项目到多个主机的环境条件假设: 1.java maven项目至多有一个依赖项目 2.多个目标主机上的部署目录是相同的 支持特性: 1.在部署主机上将java m

Jenkins+GitLab+dotnet+Python自动化部署.Net Core项目

部署环境与流程1) Jenkins是java产品,需安装JDK8.由于.netFreamwork项目自动化时是基于Windows,所以继续使用Windows server 2012环境下的已有的Jenkins,部署.构建dotnet Core项目继续在Windows平台下操作.2) .NET Core SDK:2.2.402.dotnet build构建.3) 代码仓库GitLab.4) .NET Core服务端CentOS7部署环境流程: 需求一个项目下分两个子项目,而子项目需分别进行构建部署

jenkins自动化部署gitlab上maven程序

部署流程:将代码从gitlab上拉取下来,使用maven打包,将打包后的jar通过ssh发送到服务器上,运行jar程序 注意:本文需要安装一些插件Publish Over SSH 1.新建任务 在主页点击“新建任务” 输入任务名称“gis-server”(随便什么名称都可以) 选择“构建一个maven项目” 确定 2.配置页面-源码管理 2.1.输入“Repository URL”,这是一个gitlab上的代码仓库地址,例如图中的 SSH地址:[email protected]:3dgis/se

jenkins搭建自动化部署平台(svn+tomcat重启)

原文链接:http://blog.csdn.net/zjs40/article/details/51818322 jenkins 自动化部署和集成代码的平台 可以将Git svn 上的代码 checkout 然后重新部署服务器,节省开发测试的效率 一.https://jenkins.io/index.html 下载jenkins包(war包) 二.下载完war包   在服务器上最好新建一个tomcat专门用来做jenkins启动的   修改一下server.xml 文件中修改   : (1) 修

maven+jenkins 搭建自动化部署平台

jenkins 自动化部署 1.安装JDK 1.1.上传linux的JDK安装包到opt目录下,并解压 1.2.配置jdk环境变量vim /etc/profile  在尾部添加如下内容,添加完成后执行命令:source /etc/profile # jdk环境变量 export JAVA_HOME=/opt/jdk1.8.0_102 export PATH=$PATH:$JAVA_HOME/bin export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HO

Linux文档整理之【Jenkins+Docker自动化部署.Net Core】

这次整理的文档是Jenkins+Docker实现自动化部署,很早之前就写的,今天有时间就搬到博客园做个记录. Jenkins是基于Java开发的一种持续集成工具,主要用于持续.自动的构建/测试软件等相关项目.在Java开发中我们经常能看到使用jenkins来部署,.Net core目前还是比较少见的,但是好的东西我们就应该要拿来使用.借鉴. 1. 安装JenKins 这里使用Docker来安装JenKins,当然也可以直接安装到Linux中. 创建jenkins工作目录 mkdir /usr/l

持续集成与自动化部署 - gitlab部署 (四)

1 gitlab部署 部署gitlab参考链接 GitLab是一个利用 Ruby on Rails 开发的开源应用程序,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目. GitLab拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释.可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库.它还提供一个代码片段收集功能可以轻松实现代码复用,便于日后有需要的时候进行查找. 1.基础环境准备 [[email protected] ~]# yum