Java自动生成增量补丁自动部署_GitHub - kenttanl/AutoPackingForJava: 根据 SVN 补丁日志自动生成补丁包,Java web/SE/Maven项目测试通过...

本文介绍了如何使用Python脚本根据SVN日志自动生成Java项目的补丁包,支持源文件和class文件,具备文件过滤、自定义路径等功能。详细讲述了配置文件的使用以简化操作流程。
摘要由CSDN通过智能技术生成

pAutoPackJW

68747470733a2f2f696d672e736869656c64732e696f2f62616467652f707974686f6e2d332e352e302d7265642e737667

68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d4d49542d626c75652e737667

介绍

使用 Python 编写的根据 SVN 日志自动打补丁包的脚本,目前仅支持 java web 项目

功能或特征

根据 SVN 创建补丁后的 TXT 文件自动生成补丁;

支持自动生成源文件与 class 文件;

支持文件过滤功能;

支持自动生成补丁包名称功能;

支持配置默认路径与手动选择路径;

支持内部类的 class 文件生成;

支持补丁文件的修改时间与访问时间与源文件一致

...

使用说明

注:使用前需要下载 Python 3.x 版本,建议使用 3.5 或以上版本(本脚本在 Python 3.5 + Windows 开发,并未测试在其他环境下的运行结果)

1.1 生成Svn补丁日志

右键项目 -> Team -> 创建补丁,弹出如下界面。

170c7b82d8d2e617ca2e835d337aaee6.png

选择所需补丁文件,并选择保存到文件系统,然后点 ’Finish’,就会在指定位置生成一个 txt 的文档,这里的名称为 patch.txt。

1.2 启动脚本

生成patch.txt后,便可以启动脚本,如果不配置属性文件,则操作如下:

双击start.py文件,或者在cmd窗口输入”python start.py”;

弹出选择框,选择刚刚生成的patch.txt文件;

选择完文件后,需要进一步在弹出框选择项目空间的位置;

生成完成,生成完成后的界面如下图(这里并非1.1中对应选择的文件)。

c2e2c6854f3ff08be2cfac161a920b1f.png

但是对于上面的操作,还是太麻烦了,必须得选择补丁日志文件的位置,竟然还要选择项目空间的位置。好,既然大家都觉得麻烦,那么就需要用上配置文件了,配置文件代码如下:config.properties

# 这是补丁生成器的配置文件

# 其规则遵循[属性名=属性值]的规则,不允许留空格

# SVN创建补丁日志文件默认路径

DEFAULT_SVN_LOG_PATH=C:/Users/admin/Desktop/patch.txt

# 是否使用SVN补丁日志文件默认位置,1:是,0:否,这关系着是否弹出选择框选择文件

IS_DEFAULT_SVN_LOG_PATH=1

# 工作空间默认位置,可为空

DEFAULT_WORKSPACE_PATH=E:/newWorkSpace/jjzh

# 是否使用工作空间默认位置,1:是,0:否,这关系着是否弹出选择框选择文件

IS_DEFAULT_WORKSPACE_PATH=1

因为 Svn 补丁日志文件与项目空间都是极少改动的,并且 Svn 日志文件只要在生成的时候选择同样一个位置便不需要以后每次启动脚本都去选择它的位置,对于项目空间的位置,尽管项目发生改变的几率很大,但是项目空间则相对发生改变的纪律相对较小,所以使用上面的配置则可以省去选择操作,那么改变配置文件后的操作如下(配置文件的位置路径需要保证正确):

双击 start.py 文件,或者在cmd窗口输入python start.py;

生成完成,其界面如上图。

需要说明的是,FILTER_EXTEN 的值将影响生成补丁的文件,只有后缀名符合的文件才会被生成,而 FILTER_TARGET_DIR 的值将影响生成的文件夹,即以这个数组中值开头的文件夹将去掉此值为名称的文件夹(仅限开头),这是因为Java源文件编译后的目录可能在 WebRoot 目录下,但是 Tomcat 部署中却不需要以此文件夹开头。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值