jenkins构建基于gradle的springboot项目CI采坑(采用jar方式部署)

试了一堆插件,最后用的还是 publish over SSH

jenkins基本配置不多说了,就是配置一下git仓储,配置一下gradle执行命令

clean
bootRepackage

之后执行Send build artifacts over SSH

提前配置好对应的服务器

Send build artifacts over SSH

麻烦的是执行restart.sh脚本,总是各种奇葩问题,最终结果如下

#/bin/bash
pid=`ps -ef | grep spp.jar | grep -v grep | awk ‘{print $2}‘`
if [ -n "$pid" ]
then
   kill -9 $pid
fi
java -jar /data1/javaApp/smartPushPlatform/spp.jar --server.port=30001 > console.log &

这样基本就可以完成启动了,而且可以正常推出

编译日志如下:

[Gradle] - Launching build.
[SmartPushPlatform] $ /usr/share/gradle/bin/gradle clean bootRepackage
Starting a Gradle Daemon (subsequent builds will be faster)
:clean
:compileJavaNote: /var/lib/jenkins/workspace/SmartPushPlatform/src/main/java/com/gridsum/techpub/legal/smartpush/service/TagService.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

:processResources
:classes
:findMainClass
:jar
:bootRepackage

BUILD SUCCESSFUL in 7s
6 actionable tasks: 6 executed
Build step ‘Invoke Gradle script‘ changed build result to SUCCESS
SSH: Connecting from host [gs-server-3602]
SSH: Connecting with configuration [10.202.81.26] ...
SSH: EXEC: STDOUT/STDERR from command [cd /data1/javaApp/smartPushPlatform
mv SmartPushPlatform-1.1.jar spp.jar
sh restart.sh] ...
SSH: EXEC: completed after 200 ms
SSH: Disconnecting configuration [10.202.81.26] ...
SSH: Transferred 1 file(s)
Finished: SUCCESS

  

原文地址:https://www.cnblogs.com/eviltuzki/p/8447980.html

时间: 2024-07-31 07:21:50

jenkins构建基于gradle的springboot项目CI采坑(采用jar方式部署)的相关文章

基于Maven的SpringBoot项目实现热部署的两种方式

下面我将介绍使用maven构建的SpringBoot项目中实现热部署的两种方式,使得部署变得异常简单,同时两种方式也非常的简单. 热部署 devtools Pom.xml中直接添加依赖即可: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <scope>provided</

gradle创建spring-boot项目

刚来新公司,熟悉了公司项目搭建的框架,了解到了一种新的项目管理工具:gradle,从网上了解,据说比maven更加灵活化,于是便学习了一番.在此记录下来,一遍以后使用.gradle的安装就不说了,网上一抓一把.直接说创建spring-boot过程. 1.首先,初始化gradle项目 gradle init 初始化以后,会在项目下产生标准被gralde目录. . ├── build.gradle ├── gradle │   └── wrapper │   ├── gradle-wrapper.j

使用IDEA快速搭建基于Maven的SpringBoot项目

迫于好久没写博客心慌慌,随便写个简单版的笔记便于查阅. 新建项目 新建项目 然后起名 继续next netx finish. 首先附上demo的项目结构图 配置pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001

SpringBoot项目在IntelliJ IDEA中实现热部署

spring-boot-devtools是一个为开发者服务的一个模块,其中最重要的功能就是自动应用代码更改到最新的App上面去.原理是在发现代码有更改之后,重新启动应用,但是速度比手动停止后再启动更快.其深层原理是使用了两个ClassLoader,一个Classloader加载那些不会改变的类(第三方Jar包),另一个ClassLoader加载会更改的类,称为restart ClassLoader,这样在有代码更改的时候,原来的restart ClassLoader被丢弃,重新创建一个resta

SpringBoot项目在IntelliJ IDEA中实现热部署(简单方式)

------   开启idea自动make/build功能   ----- 1.CTRL + SHIFT + A --> 查找make project automatically --> 选中 2.CTRL + SHIFT + A --> 查找Registry --> 找到并勾选compiler.automake.allow.when.app.running 3.最后重启idea 原文地址:https://www.cnblogs.com/tongxuping/p/8966835.h

SpringBoot项目替换内部的依赖jar包

注意: 不能用winrar或7zip等普通解压软件鼠标拖入直接替换, 否则启动报错: Caused by: java.lang.IllegalStateException: Unable to open nested entry 'BOOT-INF/lib/**.jar'. It has been compressed and nested jar files must be stored without compression. (嵌套的jar必须直接存储, 而不能压缩) Please che

gradle打包java项目

转载地址:http://www.gfzj.us/series/gradle/2014/12/12/gradle%E5%B0%8F%E7%B3%BB%E5%88%97(4)--gradle%E6%89%93%E5%8C%85java%E9%A1%B9%E7%9B%AE.html 以gradle小系列所举例子为示例,在此处介绍两种gradle发布java项目的方法: fat jar方式 该种方法将工程所依赖的jar包等资源都会打到一个可执行jar包中,生成的jar包很大. 在GradleTest项目

利用Jenkins实现jdk11+Maven构建springboot项目

目录 原理图 前期准备 Jdk11安装 Jenkins安装 Maven安装 Jenkins的设置 插件安装 变量配置 搭建项目 1.通用配置 2.源码管理 3.构建触发 4.Maven的构建选项 5.构建后操作 原理图 鉴于网上很多资料一上来直接就开干了,这里我先把这几天所经历的理解化成一张图,以便后续内容更加容易理解. 由上图可以清晰的看到,只要我们再本地的Idea提交代码到GitHub远程仓库,随后Github触发一个web hook(简单来说就是一个Http请求).随后Jenkins接收到

【Jenkins】使用Jenkins构建Gitee上的项目

在Gitee上有一个自己的仓库,已经在上面上传了自己的代码,具体操作可以参考: https://www.cnblogs.com/wuyizuokan/p/11191694.html 下面演示创建Jenkins任务,自动从gitee上拉取代码后进行构建: 新建任务: 输入任务名称,选择“构建一个自由风格的软件项目”,点击确定: 在源码管理中,加入你的项目地址,以及你的登陆账号,比如这边输入Gitee的项目,以及登陆Gitee需要的账号密码,还有要构建的代码分支: 在构建触发器中,可以配置构建规则,