发表于: 2017-09-17 00:25:05

1 736


今日完成:

解决了角色模块调试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


返回列表 返回列表
评论

    分享到