Spring boot 每次升级打包发给运维操作,常常运维操作不当致使升级失败,开发怎样确认线上的jar/war包与升级包一致呢?

请看下面的解决方案

5.25.1. CommonRestController 公共控制器

所有 RestController将会集成 CommonRestController

package cn.netkiller.api.rest;import org.springframework.http.HttpStatus;
import org.springframework.security.core.annotation.AuthenticationPrincipal;
import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseStatus;public class CommonRestController {@RequestMapping("ping")@ResponseStatus(HttpStatus.OK)public String welcome() {return "PONG";}@RequestMapping("commit")public String commit() {return "$Id$";}@RequestMapping("auth")@ResponseStatus(HttpStatus.OK)public String auth(@AuthenticationPrincipal final UserDetails user) {return String.format("%s: %s %s", user.getUsername(), user.getPassword(), user.getAuthorities());}
}

5.25.2. VersionRestController 测试控制器

我们创建一个RestController并继承CommonRestController用来测试

package cn.netkiller.api.rest;@RestController
@RequestMapping("/public/version")
public class VersionRestController extends CommonRestController {private static final Logger logger = LoggerFactory.getLogger(VersionRestController.class);public VersionRestController() {// TODO Auto-generated constructor stub}@RequestMapping("welcome")@ResponseStatus(HttpStatus.OK)public String welcome() {return "Welcome to RestTemplate version 1.0.";}}

5.25.3. 创建 .gitattributes 文件

# vim .gitattributes
src/main/java/cn/netkiller/api/rest/CommonRestController.java ident

使用curl命令调用commit接口可以显示当前war/jar最后一次提交的版本号码(你同样可以使用IE浏览器)

curl https://api.netkiller.cn/public/version/commit.json
$Id: 929bc9e4c90b4d68c25dc693618f23b33fd6ba0f $

原文出处:Netkiller 系列 手札
本文作者:陈景峯
转载请与作者联系,同时请务必标明文章原始出处和作者信息及本声明。

5.25. Spring boot with Git version相关推荐

  1. Spring Boot 多模块开发与排坑指南

    创建项目 创建一个 SpringBoot 项目非常的简单,简单到这里根本不用再提.你可以在使用 IDEA 新建项目时直接选择 Spring Initlalize 创建一个 Spring Boot 项目 ...

  2. Spring Boot学习的总结

    Spring Boot 1.什么是SpringBoot? SpringBoot是Spring团队在2014年,伴随Spring4.0版本推出的一个新的框架. https://spring.io/ Sp ...

  3. 【金三银四】Spring Boot面试题(2021最新版)

    目录 前言 1. 什么是SpringBoot? 2. 为什么要用SpringBoot 3. SpringBoot与SpringCloud 区别 4. Spring Boot 有哪些优点? 5. Spr ...

  4. ssm如何支持热部署_最新Spring Boot实战文档推荐:项目搭建+配置+SSM整合

    在Spring Boot项目中,正常来说是不存在XML配置,这是因为Spring Boot不推荐使用XML,注意,排不支持,Spring Boot推荐开发者使用Java配置来搭建框架, Spring ...

  5. Spring Boot Gradle 瘦身打包 thinJar,分离 lib jar 依赖

    原文地址:weiku.co/article/135/ ,欢迎转载 需求背景: srping boot 2.0+ 打包生产的 fat jar 虽然部署起来很方便,但将所有依赖都打包到一个 jar 包中使 ...

  6. springboot做系统所需的软硬件环境_最新Spring Boot实战文档推荐:项目搭建+配置+SSM整合...

    在Spring Boot项目中,正常来说是不存在XML配置,这是因为Spring Boot不推荐使用XML,注意,排不支持,Spring Boot推荐开发者使用Java配置来搭建框架, Spring ...

  7. 热烈庆祝《Spring Boot 2.X 实战教程》上线了!

    视频地址:https://edu.csdn.net/course/detail/25550 l 机构名称:大华软件学院  l 授课讲师:大强老师 l 课程名称:Spring Boot 2.X 实战教程 ...

  8. Spring Boot中使用Actuator的/info端点输出Git版本信息

    对于Spring Boot的Actuator模块相信大家已经不陌生了,尤其对于其中的/health./metrics等强大端点已经不陌生(如您还不了解Actuator模块,建议先阅读<Sprin ...

  9. git提交过滤target文件 idea_找不到或无法加载主类(IDEA中启动spring boot项目)

    版权声明:本文为博主原创文章,如果转载请给出原文链接:http://www.jufanshare.com/content/142.html 提示:需要对IDEA编辑工具使用熟悉 出现一个问题,就是sp ...

最新文章

  1. python 数据分析学什么-数据分析培训学习多久?都学什么?
  2. Crawler:关于爬虫的简介、安装、使用方法之详细攻略
  3. 【WebView】warnning:所有WebView方法必须在主线程调用(4.0) 所有WebView方法必须在同一线程调用(4.4)
  4. 【Leetcode | 9】217. 存在重复元素
  5. python数据显示为什么只能显示最后一个变量,Python变量和简单数据类型,之,的
  6. pandas读取csv文件的指定列
  7. 2-7 微信摇一摇_实现分析
  8. 云承软件和云溪哪个好_诺承木工开料机使用什么软件好
  9. group by 为什么 distinct 效率高
  10. 【C/C++服务器开发】什么是服务器?服务器分类及构建一个简单的服务器系统
  11. Gradle 2.0 用户指南翻译——第六十三章. 比较构建
  12. dor服务器阵列修复,服务器raid5阵列故障排查及数据恢复方法篇
  13. 论用户体验测试:牛逼的功能千篇一律,好的用户体验万里挑一
  14. 【全栈接口测试进阶系列教程】入门到入职的jmeter接口测试工具实战,接口测试步骤,正则表达式jsonpath,断言,接口加密,beanshell,jdbc,jmeter+ant+jenkins
  15. 用了几年的iPhone 11竟然可以免费换电池
  16. 驾驶员考试计算机辅助教学系统藏汉又(4),学科考试题库及维,汉模拟考试系统...
  17. thinkphp 页面静态化
  18. 使用AForge设置摄像头参数
  19. 雷军曾说芯片将如沙子那么便宜,然而沙子涨价促使芯片进一步涨价
  20. 磁盘阵列(Raid分类与条带化)

热门文章

  1. APROM、LDROM的区别!(flash)
  2. 基于Nanopi NEO开发板的套接字编程!
  3. java程序初始化顺序
  4. java- 和 || 优先级的问题
  5. dnsmasq详解手册
  6. Permission 0644 for .ssh/id_rsa Are Too Open 解决办法
  7. Java抓取网页数据(原网页+Javascript返回数据)
  8. oracle emp数据库或数据误删恢复
  9. CCNP实验+笔记(完整版)
  10. 走近虚拟机——McAfee研究员孙冰谈虚拟机技术和虚拟机安全