发表于: 2017-09-17 00:25:05
1 735
今日完成:
解决了角色模块调试bug
学习maven项目管理
明日计划:
看新积分项目原型
收获:
什么是版本管理,版本控制?
版本管理是项目的整体版本演变过程管理,如从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
准备版本发布
需要配置版本控制的主干、标签等地址信息
配置SCM 代码路径,connection表示只读的scm路径、developerConnertion表示可写的scm地址
<scm>
<connection>scm:svn:svn://120.92.4.210/student/carrots/trunk/bangbang/trunk/carrots-bangbang-admin-core</connection>
<developerConnection>scm:svn:svn://120.92.4.210/student/carrots/trunk/bangbang/trunk/carrots-bangbang-admin-core</developerConnection>
</scm>
配置标签路径
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<version>2.0-beta-7</version>
<configuration>
<tagBase>svn://120.92.4.210/student/carrots/trunk/bangbang/tags/carrots-bangbang-admin-core</tagBase>
</configuration>
</plugin>
release:rollvack
回退release:prepare的操作,但是不会删除版本控制工具生成的标签,需要手动删除
release:perform
执行发布版本,将release:prepare生成的标签中的代码签出,并在此基础上执行mvn deploy命令打包并部署到仓库中
执行此命令需要配置部署仓库。
配置私服:
<!--3.配置snapshot、release的nexus私服指向-->
<distributionManagement>
<repository>
<id>nexus</id>
<name>releases</name>
<url>http://nexus.ptteng.com/nexus/content/repositories/releases</url>
<uniqueVersion>true</uniqueVersion>
</repository>
<snapshotRepository>
<id>nexus</id>
<name>snapshots</name>
<url>http://nexus.ptteng.com/nexus/content/repositories/snapshots</url>
</snapshotRepository>
</distributionManagement>
问题:
打tag时需要当前项目需要有快照版本,否则报错:没有快照版本错误
打完tag后pom版本为最新的快照版本,需要修改为当前稳定版本号后执行mvn release:perform签出标签中的代码并上传到仓库
子项目如果有互相依赖,需要把依赖版本修改为稳定版本 再打tag
进度:
留学GO项目demo延期到周一 10:00
评论