在Maven构建之后的Jenkins标记

时间:2013-02-12 08:06:51

标签: maven tags jenkins cvs maven-release-plugin

我有一个多模块maven项目。

jenkins作业管道就像我的情况一样:

  1. 为变量版本控制注入环境变量
  2. 从cvs
  3. 退房
  4. 通过shell编辑我的项目的Version.properties文件(使用注入的变量)
  5. 执行mvn release:update-version更新POM版本(使用注入的变量)
  6. 列表项
  7. 执行mvn build
  8. 最后执行CVS标记(使用注入的变量)
  9. 但是现在标签中没有更新POM和Version.properties的更改。所以我的问题是,在CVS中标记了哪个工作空间。如何在我的代码中包含版本更改?


    感谢您的快速回复!

    我在第6步(maven build)之后添加了一个cvs提交:

    cvs commit -m "blabla"
    

    结果是提交了更改,但在标记中仍然存在preversion。 因为我的问题是jenkins标记的工作区。

    • 他是否使用詹金斯的工作区(我不这么认为,因为 变化不存在)
    • 他是否使用cvs的头部(在cvs提交后头部包含新版本所以我不认为jenkins不使用头部)
    • 他是否使用了一些缓存工作区?

3 个答案:

答案 0 :(得分:1)

您在步骤6和7之间缺少CVS提交。

答案 1 :(得分:0)

我在第6步(maven build)之后添加了一个cvs提交:

cvs commit -m "blabla"

结果是提交了更改,但在标记中仍然存在preversion。因为我的问题是jenkins标记的工作区。

  • 他是否使用jenkins的工作区(我不这么认为,因为没有变化)
  • 他是否使用cvs的头部(在cvs提交后头部包含新版本所以我不认为jenkins不使用头部)
  • 他是否使用了一些缓存工作区?

答案 2 :(得分:0)

我通过以下方式解决了问题:

我使用的是Jenkins CVS Tagging Plug-in v1.7

此插件使用命令cvs rtag,该命令应执行cvs头部的标记。 但在我的情况下,成功提交新文件后标记错误的文件标记(就像我在上次评论中所说的那样)

现在我正在使用post build shell命令cvs tag(标记jenkins工作区而不是cvs的头部)并且它正常工作!