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 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管理项目)_的更多相关文章
- SpringBoot项目 使用Jenkins进行自动化部署 gitlab打tag 生产测试环境使用 含配置中心
脚本 node('master') { def mvnHome = tool 'maven11-free' def gitUrl = "http://gitlab.wdcloud.cc:10 ...
- gitlab与jenkins的自动化部署(通过webhook与ansilble)
gitlab与jenkins的自动化部署(通过webhook与ansilble) 1.部署介绍 gitlab服务器:192.168.1.49:80jenkins服务器:192.168.1.49:818 ...
- 搭建jenkins实现自动化部署
搭建jenkins实现自动化部署 一.安装jenkins 1.添加yum repos,然后安装 sudo wget -O /etc/yum.repos.d/jenkins.repo https://p ...
- 基于 Jenkins Pipeline 自动化部署
最近在公司推行Docker Swarm集群的过程中,需要用到Jenkins来做自动化部署,Jenkins实现自动化部署有很多种方案,可以直接在jenkins页面写Job,把一些操作和脚本都通过页面设置 ...
- CentOS下Docker与.netcore(四)之 三剑客之一Docker-machine+jenkins简单自动化部署
CentOS下Docker与.netcore(一) 之 安装 CentOS下Docker与.netcore(二) 之 Dockerfile CentOS下Docker与.netcore(三)之 三剑客 ...
- 基于【SpringBoot】的微服务【Jenkins】自动化部署
最近,也是抽空整理了一些在工作中积累的经验,通过博客记录下来分享给大家,希望能对大家有所帮助: 一.关于自动化部署 关于自动化部署的优点,我就不在这里赘述了:只要想想手工打包.上传.部署.重启的种种, ...
- jenkins自动化部署gitlab上maven程序
部署流程:将代码从gitlab上拉取下来,使用maven打包,将打包后的jar通过ssh发送到服务器上,运行jar程序 注意:本文需要安装一些插件Publish Over SSH 1.新建任务 在主页 ...
- Centos7.6上利用docker搭建Jenkins来自动化部署Django项目
一般情况下,将一个项目部署到生产环境的流程如下: 需求分析-原型设计-开发代码-内网部署-提交测试-确认上线-备份数据-外网更新-最终测试,如果发现外网部署的代码有异常,需要及时回滚. 整个过程相当复 ...
- docker | jenkins 实现自动化部署项目,后端躺着把运维的钱挣了!(上)
前言 背景 最近在帮学校导师写项目,团队有4个人,项目前后端分离.如果是选择瀑布式开发:(在约定好接口的情况下)A.B同学写前端,C.D同学写后端,然后约定一个时间统一联调,最后将项目交付安装到客户机 ...
随机推荐
- 关于RecyclerView(二)设置EmptyView
首先重写一个RecyclerView类 package com.onepilltest.others; import android.content.Context; import android.s ...
- isinstance方法判断可迭代和迭代器
from collections import Iterable print(isinstance([],Iterable)) print(isinstance( {}, Iterable)) pri ...
- Python os.lseek() 方法
概述 os.lseek() 方法用于设置文件描述符 fd 当前位置为 pos, how 方式修改.高佣联盟 www.cgewang.com 在Unix,Windows中有效. 语法 lseek()方法 ...
- Python List len()方法
描述 len() 方法返回列表元素个数.高佣联盟 www.cgewang.com 语法 len()方法语法: len(list) 参数 list -- 要计算元素个数的列表. 返回值 返回列表元素个数 ...
- 解Bug之路-Nginx 502 Bad Gateway
解Bug之路-Nginx 502 Bad Gateway 前言 事实证明,读过Linux内核源码确实有很大的好处,尤其在处理问题的时刻.当你看到报错的那一瞬间,就能把现象/原因/以及解决方案一股脑的在 ...
- intel:spectre&Meltdown侧信道攻击(二)
上面一篇介绍了spectre&meltdown基本原理和简单的demo方案,今天继续学习一下该漏洞发现团队原始的POC:https://spectreattack.com/spectre.pd ...
- linux之FTP服务搭建 ( ftp文件传输协议 VSFTPd虚拟用户)
FTP服务搭建 配置实验之前关闭防火墙 iptables -F iptables -X iptables -Z systemctl stop firewalld setenforce 0 1.ftp简 ...
- python3 openssl问题(贼有用)
目录 一.问题描述 二.排查过程 三.总结 四.写在最后 一.问题描述 在python3 执行任何的request请求时,都会报以下的错误,纵观全网,以下基本尝试过了,对于我这个是无效的,后来不知道怎 ...
- 一张图理清 Python3 所有知识点
如果你前几天一直有关注 GitHub Trending,那你应该会留意到「Python3 in one pic」这个开源项目. 很多人学习python,不知道从何学起.很多人学习python,掌握了基 ...
- BiMPM:Bilateral Multi-Perspctive Matching for Natural Language Sentences
导言 本论文的工作主要是在 'matching-aggregation'的sentence matching的框架下,通过增加模型的特征(实现P与Q的双向匹配和多视角匹配),来增加NLSM(Natur ...