RTC与Maven Release Plugin结合使用遇到的问题

来源:互联网 发布:unity3d户型模型 编辑:程序博客网 时间:2024/04/30 01:41

在Maven的网站有关于如何使用Jazz scm plugin来实现自动release的文章(Jazz Release),我这里不做啰嗦,主要说一下,按照这个使用后遇到的问题以及如何解决的。

  1. 文件结构问题,在我们的系统设计之初,在RTC中创建了3个components,3个maven project来独立构建3个ear,后来为了一次性构建3个ear,建立了第四个component (build)专门存储pom.xml和settings.xml。结构如下:
    component1
    project1
    component2
    project 2
    component3
    project 3
    component4
    build project
    pom.xml, settings.xml
    所以在改进之后我们的maven命令都是在bui ld 目录下进行的。这个时候我们在build项目中的pom.xml加入了如下配置:
   <scm>             <connection>scm:jazz:https://rtc:9444/jazz:GPDBBuildWorkspace</connection>    </scm>

结果在从执行mvn release:prepare的时候,发现tag scm之后,pom.xml里面的connection变成了

 <scm>        <connection>scm:jazz:https://rtc:9444/jazz:GPDBBuildWorkspace/jazz:tag-version</connection>    </scm>

这个在标准maven project中没有出现过,标准scm tag之后会变回之前配置的额workspace。这个问题的细节我没有研究,看到官方文档这句之后:It is very strongly recommended that a separate repository workspace, containing just one component, the component to be released, be set up for exactly this purpose. 把项目在rtc的结构重构解决问题。解决之后的文件结构
component5
project1
project 2
project 3
pom.xml
settings.xml

  1. 没有自动Push,这个问题只发生在我本地的机器上,觉得非常奇怪。查看了scm plugin的代码,发现是系统platform encoding不同导致的,Push之前会读取现在的baseline和workspace信息比较,用的是简单的string parse,没有考虑utf问题,所以只有最后通过修改scm.ini解决。
-Duser.language=us -Dfile.encoding="UTF-8"
  1. Push遇到changset should be associate with artifact id,这个问题可以参考scm775和MRELEASE-909,本以为这个问题已经解决了,可惜Chris提交的代码错过了scm相关的release,现在也没有看到Chris release的迹象,没办法只能把相关的Git代码弄到本地,创建自己的Local版本,将release plugin和scm plugin放到本地repo中。
    release plugin 版本定制:
    a. 在release plugin的git版本中下载当前版本zip包
    b. 将Chris改的release相关代码合并到zip包版本中
    c. 用mvn:install -DskipTests=true在target文件夹中获取对应的release包
    scm plugin版本定制:
    a.在scm plugin的git版本中下载1.9.4版本zip包
    b.将Chris改动的代码合并到zip包版本中
    c. 用mvn:install -DskipTests=true在target文件夹中获取对应的release包
    在settings.xml创建自己的local plugin repo,把scm plugin和release plugin的定制版放到项目source control下,把local plugin repo指向定制版scm和release plugin,搞定。
0 0
原创粉丝点击