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

  • 创建文件夹
  1. mkdir /wdcloud/app/rps/rps-module-category
  • 创建启动脚本
  1. cd /wdcloud/app/rps/rps-module-category
  2. vim rps-module-category.sh
  1. #!/bin/bash
  2. APP_HOME=/wdcloud/app/rps/rps-module-category
  3. APP_JAR=rps-module-category-*.jar
  4. APP_PIDS=$(ps ax | grep java | grep $APP_HOME | grep -v grep | awk '{print $1}')
  5. function start(){
  6. if [ -z "$APP_PIDS" ]; then
  7. echo "start project..."
  8. exec java -jar $APP_HOME/$APP_JAR >/dev/null 2>&1 &
  9. echo "start project end..."
  10. else
  11. echo "warning: the spring boot server is started!!!====="$APP_HOME
  12. exit 1
  13. fi
  14. }
  15. function stop(){
  16. if [ -z "$APP_PIDS" ]; then
  17. echo "No spring boot server to stop"
  18. else
  19. echo "stop project..."
  20. kill -s TERM $APP_PIDS
  21. echo "stop project end..."
  22. fi
  23. }
  24. function restart(){
  25. stop
  26. sleep 3
  27. APP_PIDS=$(ps ax | grep java | grep $APP_HOME | grep -v grep | awk '{print $1}')
  28. start
  29. }
  30. case "$1" in
  31. start)
  32. start
  33. ;;
  34. stop)
  35. stop
  36. ;;
  37. restart)
  38. restart
  39. ;;
  40. *)
  41. printf 'Usage: %s {start|stop|restart}\n' "$prog"
  42. ;;
  43. esac
  44. exit 1

2.Jenkins 创建任务

输入任务名称 -> 选择流水线

ok-> 选择丢弃旧的构建

Pipeline - Script 输入对应脚本

  1. node('master') {
  2. def mvnHome = tool 'maven11-free'
  3. def gitUrl = "http://gitlab.wdcloud.cc:10080/utility/rps/rps.git"
  4. def appName = "rps-module-category"
  5. def appPath = "/wdcloud/app/rps/rps-module-category"
  6. def nodeIp = "192.168.9.14"
  7. def profile = "test"
  8. stage('rmdir') {
  9. sh "rm -rf ./*"
  10. }
  11. stage('git') {
  12. git branch: 'master', credentialsId: 'd390694c-d99b-4eae-b7d3-f7b75095d29e', url: "${gitUrl}"
  13. }
  14. stage('Package') {
  15. sh "'${mvnHome}/bin/mvn' -Dmaven.test.failure.ignore -Dmaven.test.skip=true clean package"
  16. }
  17. stage('Deployment'){
  18. sh """
  19. ssh jetty@${nodeIp} "${appPath}/${appName}.sh stop || echo not running"
  20. ssh jetty@${nodeIp} "rm -rf ${appPath}/${appName}-*.jar"
  21. scp -o StrictHostKeyChecking=no -r rps-modules/${appName}/target/${appName}-*.jar jetty@${nodeIp}:${appPath}/
  22. ssh jetty@${nodeIp} "${appPath}/${appName}.sh start || echo not running"
  23. """
  24. }
  25. }

点击保存 配置完成

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

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

  1. SpringBoot项目 使用Jenkins进行自动化部署 gitlab打tag 生产测试环境使用 含配置中心

    脚本 node('master') { def mvnHome = tool 'maven11-free' def gitUrl = "http://gitlab.wdcloud.cc:10 ...

  2. gitlab与jenkins的自动化部署(通过webhook与ansilble)

    gitlab与jenkins的自动化部署(通过webhook与ansilble) 1.部署介绍 gitlab服务器:192.168.1.49:80jenkins服务器:192.168.1.49:818 ...

  3. 搭建jenkins实现自动化部署

    搭建jenkins实现自动化部署 一.安装jenkins 1.添加yum repos,然后安装 sudo wget -O /etc/yum.repos.d/jenkins.repo https://p ...

  4. 基于 Jenkins Pipeline 自动化部署

    最近在公司推行Docker Swarm集群的过程中,需要用到Jenkins来做自动化部署,Jenkins实现自动化部署有很多种方案,可以直接在jenkins页面写Job,把一些操作和脚本都通过页面设置 ...

  5. CentOS下Docker与.netcore(四)之 三剑客之一Docker-machine+jenkins简单自动化部署

    CentOS下Docker与.netcore(一) 之 安装 CentOS下Docker与.netcore(二) 之 Dockerfile CentOS下Docker与.netcore(三)之 三剑客 ...

  6. 基于【SpringBoot】的微服务【Jenkins】自动化部署

    最近,也是抽空整理了一些在工作中积累的经验,通过博客记录下来分享给大家,希望能对大家有所帮助: 一.关于自动化部署 关于自动化部署的优点,我就不在这里赘述了:只要想想手工打包.上传.部署.重启的种种, ...

  7. jenkins自动化部署gitlab上maven程序

    部署流程:将代码从gitlab上拉取下来,使用maven打包,将打包后的jar通过ssh发送到服务器上,运行jar程序 注意:本文需要安装一些插件Publish Over SSH 1.新建任务 在主页 ...

  8. Centos7.6上利用docker搭建Jenkins来自动化部署Django项目

    一般情况下,将一个项目部署到生产环境的流程如下: 需求分析-原型设计-开发代码-内网部署-提交测试-确认上线-备份数据-外网更新-最终测试,如果发现外网部署的代码有异常,需要及时回滚. 整个过程相当复 ...

  9. docker | jenkins 实现自动化部署项目,后端躺着把运维的钱挣了!(上)

    前言 背景 最近在帮学校导师写项目,团队有4个人,项目前后端分离.如果是选择瀑布式开发:(在约定好接口的情况下)A.B同学写前端,C.D同学写后端,然后约定一个时间统一联调,最后将项目交付安装到客户机 ...

随机推荐

  1. MapReduce之Combiner合并

    Combiner是MR程序中Mapper和Reducer之外的一种组件(本质是一个Reducer类) Combinr组件的父类就是Reducer Conbimer只有在驱动类里设置了之后,才会运行 C ...

  2. CSS两列布局的N种实现

    一.什么是两列布局 两列布局分为两种,一种是左侧定宽.右侧自适应,另一种是两列都自适应(即左侧宽度由子元素决定,右侧补齐剩余空间).在CSS面试题里面属于常考题,也是一个前端开发工程师必须掌握的技能, ...

  3. Python Tuple(元组) tuple()方法

    描述 Python 元组 tuple() 函数将列表转换为元组.每组词 www.cgewang.com 语法 tuple()方法语法: tuple( iterable ) 参数 iterable -- ...

  4. PHP log() 函数

    实例 返回不同数的自然对数: <?phpecho(log(2.7183) . "<br>");echo(log(2) . "<br>&quo ...

  5. Java Udp Socket Simple Demo

    import java.io.IOException; import java.net.DatagramPacket; import java.net.DatagramSocket; import j ...

  6. P4491 [HAOI2018]染色 广义容斥 NTT 生成函数

    LINK:染色 算是比较常规的广义容斥. 算恰好k个 可以直接转成至少k个. 至少k个非常的好求 直接生成函数. 设\(g_k\)表示至少有k个颜色是满足的 那么有 \(g_k=C(m,k)\frac ...

  7. Jenkins总结1-部署jenkins

    1. 介绍 jenkins是一个广泛用于持续构建的可视化web工具,持续构建说得更直白点,就是各种项目的"自动化"编译.打包.分发部署.jenkins可以很好的支持各种语言(比如: ...

  8. stm32f407 oled iic例程,成功点亮oled屏

    写了好久好久,写好多好多代码,终于把oled给驱起来了.话不多说,直接上图,欲要例程的,可以加我微 lichenpoo

  9. 加密模块hashlib模块(* *)

    用于加密相关的操作,3.x里代替了md5模块和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 越往后加密算法越复杂,这些算法都是不可逆的,MD5 算法 ...

  10. lombok的基本使用方法

    在java刚开始学习的时候,首先就会学习封装.继承和多态,就拿封装来说,封装就是为了保护数据安全而将实体类内部数据保持为私有状态,如果外部程序想要访问里面的数据就必须调用此实体类提供的相关数据接口,这 ...