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同学写后端,然后约定一个时间统一联调,最后将项目交付安装到客户机 ...
随机推荐
- Maven中出现Could not find artifact ...:pom:0.0.1-SNAPSHOT
参考链接:https://blog.csdn.net/zpwggi123/article/details/87189959 多模块项目构建时,先将总项目install,之后子项目分别install,注 ...
- Django学习路35_视图使用方法(复制的代码) + 简单总结
from django.shortcuts import render,redirect from django.http import HttpResponse,JsonResponse from ...
- PHP fstat() 函数
定义和用法 fstat() 函数返回关于一个打开的文件的信息. 该函数将返回一个包含下列元素的数组: [0] 或 [dev] - 设备编号 [1] 或 [ino] - inode 编号 [2] 或 [ ...
- PHP is_finite() 函数
实例 判断一个值是否为有限值: <?phpecho is_finite(2) . "<br>";echo is_finite(log(0)) . "&l ...
- PHP simplexml_load_string() 函数
实例 转换形式良好的 XML 字符串为 SimpleXMLElement 对象,然后输出对象的键和元素: <?php$note=<<<XML<note>高佣联盟 w ...
- 精讲RestTemplate第3篇-GET请求使用方法详解
本文是精讲RestTemplate第3篇,前篇的blog访问地址如下: 精讲RestTemplate第1篇-在Spring或非Spring环境下如何使用 精讲RestTemplate第2篇-多种底层H ...
- docker安装gitlab并部署CICD
摘要 本文主要实现了在docker下安装gitlab,将gitlab绑定在宿主机的180端口,将gitlab的clone的URL添加指定端口号:部署了CI/CD,并公布了测试项目. 安装docker[ ...
- Java 图书管理项目
思路总结: 1.使用空布局 2.构造方法里写初始打开的界面 3.return 意思是 "否则" 代替else if,一切归于平静 4.连接数据库时 db=new database ...
- 卷积神经网络 part2
[任务一]代码练习 在谷歌 Colab 上完成代码练习,关键步骤截图,并附一些自己的想法和解读. ● MobileNetV1 网络:简要阅读谷歌2017年的论文<MobileNets: Eff ...
- 机器学习经典算法(进阶篇)——8.KNN
KNN是通过测量不同特征值之间的距离进行分类.它的的思路是:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别.K通常是不大于20的整数. ...