发表于: 2017-10-29 22:26:09

1 743


今天完成的事情:

什么是版本管理,版本控制?

版本管理是项目的整体版本演变过程管理,如从1.0-SNAPSHOT到1.0,再到1.1-SNAPSHOT。

版本控制是指借助版本控制工具如Subversion追踪代码的每一个变更


一个项目在开发过程中,使用的是快照版本。此版本中依赖的jar因为在开发阶段随时可能发生变化。

但是当项目需要对外发布时需要提供一个稳定的版本。稳定版本因为需要发布,不能再改动,所以只能定义到唯一的依赖jar。

当项目发布一个稳定版本后,就会进入到下个开发阶段,项目也就转换到新的快照版本中。


maven的版本号定义约定

《主版本》-《次版本》-《增量版本》-《里程碑版本》

如:1.3.4-beta-2

1表示该版本是第一个重大版本

3表示基于重大版本的第三个次要版本

4表示该次要版本的第四个增量

beta-2表示该增量的某一个里程碑


主干、标签、分支

主干是项目开发的主体,项目从开始到当前都处于活动状态,这里可以得到项目最新的代码以及所有变更历史


标签是标识主干或者分支的某个节点,以代表项目的某个稳定状态,也就是版本发布时的状态


分支是从主干分离出来的代码拷贝,在不影响主干的前提下在这里处理bug修复,或者做实验性的开发。分支达到预期目的,会被合并到主干中。比如bug修复完成,就需要合并到主干中


自动化版本发布

借助maven release plugin插件可以实现自动化发布

插件有三个目标分别是:

release:prepare

准备版本发布

需要配置版本控制的主干、标签等地址信息


release:rollvack

回退release:prepare的操作,但是不会删除版本控制工具生成的标签,需要手动删除

release:perform

执行发布版本,将release:prepare生成的标签中的代码签出,并在此基础上执行mvn deploy命令打包并部署到仓库中

执行此命令需要配置部署仓库。

明天计划的事情:

方案评审

收获:

一首凉凉送给lpl


返回列表 返回列表
评论

    分享到