【问题标题】:Which plugin of maven is better for manage release version?maven 的哪个插件更适合管理发布版本?
【发布时间】:2019-10-30 17:24:58
【问题描述】:

例如: maven-release-plugin prepare perform 要求没有 SNAPSHOT 依赖项,这会破坏持续集成,以防在发布前没有被验证,相反,flatten-maven-plugin 只需要 -Drevision -Dchangelist scm:tag 标记发布版本而不验证 SNAPSHOT 依赖项。

【问题讨论】:

    标签: java maven release


    【解决方案1】:

    在发布版本中包含 SNAPSHOT 依赖项总是一个坏主意。构建变得不可重现。

    Maven 发布插件为您提供了一个彻底且经过深思熟虑的发布过程。关于它的某些方面有不同的意见,如果你不喜欢它们,你可以构建自己的方式,可能在你的构建服务器(Jenkins)而不是 Maven 中。

    【讨论】:

    • ...我无法控制添加的新依赖项(多个开发人员),这会导致发布被破坏,我必须撤消 maven 的prepare perform 所做的更改。
    • 您可以在调用 maven 发布插件之前调用 versions:use-releases -DfailIfNotReplaced=true。如果存在 SNAPSHOT 依赖项且无法替换,则构建几乎会立​​即失败。
    • 是的,是正确的。因为 CI 不友好,因为这个过程是手动的。 prepare perform 对于 CI 来说是丑陋的。
    • 无论 CI 与否:您需要确保版本不是使用快照依赖项构建的。因此,如果其中包含快照依赖项,您需要一种或另一种方法来使构建失败。
    猜你喜欢
    • 2018-01-31
    • 2013-01-16
    • 2015-04-21
    • 1970-01-01
    • 2011-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-17
    相关资源
    最近更新 更多