【问题标题】:Jenkins Tag After Maven BuildMaven 构建后的 Jenkins 标记
【发布时间】:2013-02-12 08:06:51
【问题描述】:

我有一个多模块 maven 项目。

在我的例子中,jenkins 工作管道是这样的:

  1. 为变量版本注入环境变量
  2. 从 cvs 签出
  3. 通过 shell 编辑我的项目的 Version.properties 文件(使用注入的变量)
  4. 执行 mvn release:update-version 以更新 POM 版本(使用注入的变量)
  5. 列表项
  6. 执行 mvn 构建
  7. 最后执行 CVS 标记(使用注入的变量)

但是现在 POM 和 Version.properties 的更改并没有在标签中更新。所以我的问题是,CVS 中标记了哪个工作区。我必须做什么才能在我的标签中包含版本更改?


感谢您的快速响应!

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

cvs commit -m "blabla"

结果是提交了更改,但在标记中仍然存在preversion。 因此,我的问题是詹金斯正在标记哪个工作区。

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

【问题讨论】:

  • 你有没有检查过maven-release-plugin 让 maven 插件在发布等和更改 pom 文件中的版本等方面发挥作用。

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


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

    cvs commit -m "blabla"
    

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

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

    【讨论】:

      【解决方案3】:

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

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

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

      现在我正在使用构建后的 shell 命令 cvs tag(它标记 jenkins 工作区而不是 cvs 的负责人)并且它工作正常!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-02-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-02-27
        • 1970-01-01
        • 1970-01-01
        • 2016-02-21
        相关资源
        最近更新 更多