5.25. Spring boot with Git version
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相关推荐
- Spring Boot 多模块开发与排坑指南
创建项目 创建一个 SpringBoot 项目非常的简单,简单到这里根本不用再提.你可以在使用 IDEA 新建项目时直接选择 Spring Initlalize 创建一个 Spring Boot 项目 ...
- Spring Boot学习的总结
Spring Boot 1.什么是SpringBoot? SpringBoot是Spring团队在2014年,伴随Spring4.0版本推出的一个新的框架. https://spring.io/ Sp ...
- 【金三银四】Spring Boot面试题(2021最新版)
目录 前言 1. 什么是SpringBoot? 2. 为什么要用SpringBoot 3. SpringBoot与SpringCloud 区别 4. Spring Boot 有哪些优点? 5. Spr ...
- ssm如何支持热部署_最新Spring Boot实战文档推荐:项目搭建+配置+SSM整合
在Spring Boot项目中,正常来说是不存在XML配置,这是因为Spring Boot不推荐使用XML,注意,排不支持,Spring Boot推荐开发者使用Java配置来搭建框架, Spring ...
- Spring Boot Gradle 瘦身打包 thinJar,分离 lib jar 依赖
原文地址:weiku.co/article/135/ ,欢迎转载 需求背景: srping boot 2.0+ 打包生产的 fat jar 虽然部署起来很方便,但将所有依赖都打包到一个 jar 包中使 ...
- springboot做系统所需的软硬件环境_最新Spring Boot实战文档推荐:项目搭建+配置+SSM整合...
在Spring Boot项目中,正常来说是不存在XML配置,这是因为Spring Boot不推荐使用XML,注意,排不支持,Spring Boot推荐开发者使用Java配置来搭建框架, Spring ...
- 热烈庆祝《Spring Boot 2.X 实战教程》上线了!
视频地址:https://edu.csdn.net/course/detail/25550 l 机构名称:大华软件学院 l 授课讲师:大强老师 l 课程名称:Spring Boot 2.X 实战教程 ...
- Spring Boot中使用Actuator的/info端点输出Git版本信息
对于Spring Boot的Actuator模块相信大家已经不陌生了,尤其对于其中的/health./metrics等强大端点已经不陌生(如您还不了解Actuator模块,建议先阅读<Sprin ...
- git提交过滤target文件 idea_找不到或无法加载主类(IDEA中启动spring boot项目)
版权声明:本文为博主原创文章,如果转载请给出原文链接:http://www.jufanshare.com/content/142.html 提示:需要对IDEA编辑工具使用熟悉 出现一个问题,就是sp ...
最新文章
- python 数据分析学什么-数据分析培训学习多久?都学什么?
- Crawler:关于爬虫的简介、安装、使用方法之详细攻略
- 【WebView】warnning:所有WebView方法必须在主线程调用(4.0) 所有WebView方法必须在同一线程调用(4.4)
- 【Leetcode | 9】217. 存在重复元素
- python数据显示为什么只能显示最后一个变量,Python变量和简单数据类型,之,的
- pandas读取csv文件的指定列
- 2-7 微信摇一摇_实现分析
- 云承软件和云溪哪个好_诺承木工开料机使用什么软件好
- group by 为什么 distinct 效率高
- 【C/C++服务器开发】什么是服务器?服务器分类及构建一个简单的服务器系统
- Gradle 2.0 用户指南翻译——第六十三章. 比较构建
- dor服务器阵列修复,服务器raid5阵列故障排查及数据恢复方法篇
- 论用户体验测试:牛逼的功能千篇一律,好的用户体验万里挑一
- 【全栈接口测试进阶系列教程】入门到入职的jmeter接口测试工具实战,接口测试步骤,正则表达式jsonpath,断言,接口加密,beanshell,jdbc,jmeter+ant+jenkins
- 用了几年的iPhone 11竟然可以免费换电池
- 驾驶员考试计算机辅助教学系统藏汉又(4),学科考试题库及维,汉模拟考试系统...
- thinkphp 页面静态化
- 使用AForge设置摄像头参数
- 雷军曾说芯片将如沙子那么便宜,然而沙子涨价促使芯片进一步涨价
- 磁盘阵列(Raid分类与条带化)