热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

springboot发布自动生成svn版本号

通过Jenkins构建发布springboot项目时,常常有需求,需要把Svn的版本号更新到项目的版本上,通过有两种解决方案:1. 通过shell命令对配置文件中的指定字符进行替换

通过Jenkins构建发布spring boot项目时,常常有需求,需要把Svn的版本号更新到项目的版本上,通过有两种解决方案:

1. 通过shell命令对配置文件中的指定字符进行替换,

如:

配置文件

app-config:
  isDev: 1
  version: 10.0.dev.312

shell命令

sed -i "s/dev/$BUILD_NUMBER/g" src/main/resources/application.properties

 

2.使用spring boot插件在构建compile时,对版本号的指定字符进行自动替换:

application.yml

app-config:
  version: 10.0.${prefix.revision}.312

 

POM文件添加plugin:


            <plugin>
                <groupId>com.google.code.maven-svn-revision-number-plugingroupId>
                <artifactId>maven-svn-revision-number-pluginartifactId>
                <version>1.7version>
                <configuration>
                    <verbose>trueverbose>
                    <entries>
                        <entry>
                            <prefix>prefixprefix>
                            <depth>emptydepth>
                        entry>
                    entries>
                configuration>
                <executions>
                    <execution>
                        <phase>validatephase>
                        <goals>
                            <goal>revisiongoal>
                        goals>
                    execution>
                executions>
                <dependencies>
                    <dependency>
                        <groupId>org.tmatesoft.svnkitgroupId>
                        <artifactId>svnkitartifactId>
                        <version>1.8.5version>
                    dependency>
                dependencies>
            plugin>
            
            <plugin>
                <groupId>org.apache.maven.pluginsgroupId>
                <artifactId>maven-resources-pluginartifactId>
                <executions>
                    <execution>
                        <id>default-resourcesid>
                        <phase>generate-resourcesphase>
                        <goals>
                            <goal>copy-resourcesgoal>
                        goals>
                        <configuration>
                            <outputDirectory>target/classesoutputDirectory>
                            <useDefaultDelimiters>trueuseDefaultDelimiters>
                            <resources>
                                <resource>
                                    <directory>src/main/resourcesdirectory>
                                    <filtering>truefiltering>
                                resource>
                            resources>
                        configuration>
                    execution>
                executions>
            plugin>

点击compile:

spring boot 发布自动生成svn版本号

 

注:通常开发时,是不需要进行compile的,所以,为避免debug出错,可以添加application-dev.yml文件

app-config:
  version: 10.0.dev.312

 

在target文件夹生成的application.yml可以看到版本号已经改为svn号了。

 


推荐阅读
  • CentOS 7环境下Jenkins的安装与前后端应用部署详解
    CentOS 7环境下Jenkins的安装与前后端应用部署详解 ... [详细]
  • 本文详细介绍了如何正确设置Shadowsocks公共代理,包括调整超时设置、检查系统限制、防止滥用及遵守DMCA法规等关键步骤。 ... [详细]
  • 入门指南:使用FastRPC技术连接Qualcomm Hexagon DSP
    本文旨在为初学者提供关于如何使用FastRPC技术连接Qualcomm Hexagon DSP的基础知识。FastRPC技术允许开发者在本地客户端实现远程调用,从而简化Hexagon DSP的开发和调试过程。 ... [详细]
  • 从理想主义者的内心深处萌发的技术信仰,推动了云原生技术在全球范围内的快速发展。本文将带你深入了解阿里巴巴在开源领域的贡献与成就。 ... [详细]
  • VSCode 切换 Python 虚拟环境时遇到脚本执行权限问题
    本文介绍了解决在 VSCode 中切换 Python 虚拟环境时出现的‘无法加载文件 E:Python_projectshop_envScriptsActivate.ps1,因为在此系统上禁止运行脚本’的问题的方法。 ... [详细]
  • C#中调用OpenCTM打开.obj三维模型文件
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • Kafka入门指南
    本文将详细介绍如何在CentOS 7上安装和配置Kafka,包括必要的环境准备、JDK和Zookeeper的配置步骤。 ... [详细]
  • 本文介绍了如何将Spring属性占位符与Jersey的@Path和@ApplicationPath注解结合使用,以便在资源路径中动态解析属性值。 ... [详细]
  • MyBatisCodeHelperPro 2.9.3 最新在线免费激活方法
    MyBatisCodeHelperPro 2.9.3 是一款强大的代码生成工具,适用于多种开发环境。本文将介绍如何在线免费激活该工具,帮助开发者提高工作效率。 ... [详细]
  • RHEL 8 中的设备分区管理指南
    本文详细介绍了在 RHEL 8 系统中如何管理和操作设备分区,包括查看设备信息、挂载和卸载设备、分区管理以及配置文件系统的自动挂载。 ... [详细]
  • 如何配置VisualSVN以确保提交时必须填写日志信息
    在软件开发团队中,成员们有时会忘记在提交代码时添加必要的备注信息。为了规范这一流程,可以通过配置VisualSVN来强制要求团队成员在提交文件时填写日志信息。本文将详细介绍如何设置这一功能。 ... [详细]
  • AppFog 是一个基于 CloudFoundry 的多语言 PaaS(平台即服务)提供商,允许用户在其平台上轻松构建和部署 Web 应用程序。本文将通过详细的图文步骤,指导读者如何在 AppFog 免费云平台上成功部署 WordPress,帮助用户快速搭建个人博客或网站。 ... [详细]
  • Windows环境下详细教程:如何搭建Git服务
    Windows环境下详细教程:如何搭建Git服务 ... [详细]
  • 在文件状态发生变化时,需要在其图标上精确叠加状态标识,以提供直观的视觉反馈。例如,在使用SVN进行版本控制时,同步成功后会在文件图标上显示一个绿色的勾,如下图所示。本文探讨了实现这一功能的技术方法,包括图标叠加的精准控制和多种应用场景,旨在提升用户界面的友好性和功能性。 ... [详细]
  • 在 CentOS 7 上部署和配置 RabbitMQ 消息队列系统时,首先需要安装 Erlang,因为 RabbitMQ 是基于 Erlang 语言开发的。具体步骤包括:安装必要的依赖项,下载 Erlang 源码包(可能需要一些时间,请耐心等待),解压源码包,解决可能出现的错误,验证安装是否成功,并将 Erlang 添加到环境变量中。接下来,下载 RabbitMQ 的 tar.xz 压缩包,并进行解压和安装。确保每一步都按顺序执行,以保证系统的稳定性和可靠性。 ... [详细]
author-avatar
Q_jack
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有