`
isiqi
  • 浏览: 16710129 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

如何为项目加上代码版本号

阅读更多

我所在的项目有无数个测试环境,每一个环境都有不同版本的代码,所以有了bug以后,提交了代码也不一定能在短时间内部署到所有的测试环境中,这样就有可能出现bug改好了,代码页提交了,但是还有tester在某个环境上报同样的bug,这就需要一个方法能取得所在环境的代码版本以确定改动是不是已经部署到那个环境中去了

因为我们使用svn和ant,所以就在代码的build脚本中加入了一个target把svn code version生成到一个html文件里面, 并让这个target在每次build的时候都自动执行,这样每次build就把当前的svn版本号生成为html文件并且部署到服务器上,并直接通过url来查看当前环境的代码版本

具体的ant脚本如下

<target name="generateCodeVersion">
<exec executable="svn" output="${webroot}/version.html" failonerror="false" failifexecutionfails="false">
<arg line="info"/>
</exec>
</target>

这个target会在${webroot}下生成一个version.html文件,里面的内容格式如下:

Path: .
URL: http://88.8.888.88/lods/dev_2.0.0
Repository Root: http://10.3.100.78/code
Repository UUID: 465e05aa-64dd-4f22-9bd7-d30a52464735
Revision: 13308
Node Kind: directory
Schedule: normal
Last Changed Author: rainman
Last Changed Rev: 132887
Last Changed Date: 2009-01-26 12:49:03 -0700 (Mon, 26 Jan 2009)

如果你不想暴露你的repository和svn代码库的url, 可以修改ant脚本如下:

<target name="generateCodeVersion">
<exec executable="svn" output="${webroot}/version.html" failonerror="false" failifexecutionfails="false">
<arg line="info"/>
<redirector>
<outputfilterchain>
<linecontainsregexp>
<regexp pattern="^Revision:"/>
</linecontainsregexp>
<tokenfilter>
<replaceregex pattern="Revision\:\s*" flags="s" replace=""/>
</tokenfilter>
</outputfilterchain>
</redirector>
</exec>
</target>

这样就会只保留Revision号,而不包括其他信息,html里面的内容也就只有13308这个数字了

同样的方法也可以得到svn的tag号,比如1.0,2.0等等

分享到:
评论

相关推荐

    软件版本号规范

    - 阶段版本号为`1`,表示这个版本可能是一次较小的功能性修正或错误修复。 - 日期版本号为`051021`,代表这个版本是在2021年10月5日发布的。 - 希腊字母版本号为`beta`,表示这是一款Beta测试版本。 #### 四、版本...

    语义化版本号

    - 所有之前的次要版本号和修订版本号应该重置为0。 2. **MINOR**版本号增加: - 当以向后兼容的方式添加了新功能时,MINOR版本号应递增。 - 修订版本号应重置为0。 3. **PATCH**版本号增加: - 当进行了向后...

    语义化版本号-中文版

    语义化版本号的基本格式为 **X.Y.Z**: - **X** 表示主版本号(Major Version),当做了不兼容的API修改时递增。 - **Y** 表示次版本号(Minor Version),当做了向下兼容的功能性新增时递增。 - **Z** 表示修订号...

    软件项目版本号的命名规则及格式

    除了标准的版本号,SemVer还允许在版本号后加上预发布标识(如alpha、beta)和构建元数据(如+1234),以区分不同的开发阶段和构建。 1. 预发布版本(Pre-release):如`1.2.3-alpha.1`,用于标记未正式发布的测试...

    vue.js编译时给生成的文件增加版本号

    总之,Vue.js 通过Webpack编译时在生成的文件名中加入版本号,确保了每次更新都能够有效地刷新用户的浏览器缓存,保证用户始终使用到最新的应用代码。这是一种常见的前端优化实践,对于保证应用的及时更新和用户体验...

    删除svn代码管理器版本

    首先,SVN是源代码版本控制系统,它允许开发人员追踪和控制对项目文件的修改。每个提交到SVN仓库的改动都会被记录下来,以便于回溯、合并和分支管理。然而,有时候由于项目调整、错误操作或者不再需要特定版本的需求...

    HTML页面自动清理js、css文件的缓存(自动添加版本号)

    需要注意的是,当项目部署到生产环境,不再频繁更改时,固定版本号是一个更好的选择。固定版本号可以让浏览器缓存资源,提高页面加载速度,只有在进行更新时才替换版本号,以避免不必要的网络请求。 总的来说,自动...

    vs C/C++ 代码提示插件

    `VA_X_Setup2074.exe`则很可能是插件的安装包,版本号为2074,用户可以通过运行这个执行文件来安装或更新插件,确保其与最新的VS版本兼容。 `Howto.txt`文件通常包含插件的使用指南或安装步骤。通过阅读这个文本...

    在vue项目中升级更新element ui版本.docx

    **提示:** 如果你想指定安装某个特定版本的Element UI,可以在命令后面加上版本号,例如: ```bash npm install element-ui@2.15.1 --save ``` ##### 步骤三:在`main.js`中配置Element UI主题 安装完成后,需要...

    日/本项目C#源代码

    通常,这种格式可能是日期(070410可能表示2007年4月10日)加上版本号(c110)或内部标识符(110),但具体含义需要结合项目上下文来理解。 总的来说,这个压缩包中的源代码提供了学习和研究C#语言、日本软件开发...

    C# 代码编写规范

    代码包规范要求有明确的版本号和标识,以及代码包的命名规则。代码控制部分则涉及代码库或目录的建立和归档,确保代码在版本控制下的有序管理。 附件中提供了数据类型缩写表和控件名缩写表,包括.NET控件、html控件...

    android studio 打包自动生成版本号与日期,apk输入路径详解

    Android Studio 打包自动生成版本号与日期,apk 输入路径详解 Android Studio 中打包自动生成版本号与日期是 Android 开发中经常遇到的问题。本文将详细介绍如何在 Android Studio 中打包自动生成版本号与日期,并且...

    Version一个用于创建编辑和比较语义版本数字

    - **处理预发布和构建元数据**:SemVer允许在版本号后面加上 `-pre-release` 和 `+build-metadata`,`Version` 库可能提供对这些额外信息的处理。 在`kherge-abandoned-php-version-d39d964`这个压缩包中,可能包含...

    SSH项目编写规范示例

    - 版本号采用X.Y.Z.W模式,X.Y.Z为主版本号,W为副版本或扩展版本。 2. **包命名规则**: - 包结构反映了模块的划分,如action、service、service.impl、dao、dao.impl、model、dto、exception和util等。 - 包名...

    使用python制作一个为hex文件增加版本号的脚本实例

    # 在倒数第二行前加上版本号04FF000011091A00C9 # 04表示本行数据的长度FF00表示本行数据的起始地址00表示数据类型 # 11091A表示2017年9月26号00表示app模式C9校验和(前面所有数据总和取低八位再用0x100去减所得的...

    android 精简版的代码生存器

    "Android 精简版的代码生存器"是一个专为Android平台定制的简化版本,它可能包含了基本的代码生成功能,适合那些希望快速搭建应用基础框架的开发者。 首先,我们来详细了解一下代码生存器的基本概念。代码生存器的...

    http-server-0.82.zip

    通过在项目的pom.xml文件中配置该插件,可以在编译、打包或部署阶段自动执行,为项目生成唯一的内部版本号。 3. **配置与使用**: 要使用GitDescribe-Maven-Plugin,你需要在pom.xml中添加插件配置,包括执行目标...

    Delphi代码规范Word版.doc

    - 项目组文件:通常以项目名称加上版本号或日期作为命名,例如`MyProject_v1.0.groupproj`。 - 项目文件:通常以项目名称为主,例如`MyProject.dpr`。 - Form文件:以Form的名称命名,如`MainForm.pas`。 - 数据模块...

    Python实现自动添加脚本头信息的示例代码.pdf

    在Python编程实践中,脚本头信息是代码规范的重要组成部分,它包含了脚本的基本信息,如名称、作者、创建日期、版本号、描述以及用途等。维护良好的脚本头信息有助于其他人理解脚本的目的和使用方法,同时也方便了...

    ueditor不在vue项目中使用。加上公式插件和自定义按钮

    同样,“加重点符号”可能是指插入星号或其他符号来强调文本,例如使用`**`或`__`包裹文本以实现粗体效果,或者使用`*`或 `_` 创建斜体。在ueditor中,这可能需要自定义一个按钮,当点击时,通过API向选中的文本应用...

Global site tag (gtag.js) - Google Analytics