maven - 将发布版本参数传递给 Maven 中的下游作业

标签 maven

我是一名 Maven 菜鸟,目前正在与 Maven/Jenkins 合作,在发布任务的背后执行一些下游工作,我的团队遇到了问题。

我们试图实现的是在主构建执行后将版本标签传递到下游作业中。我们一直在尝试使用 M2 插件来实现这一点,但它似乎在 中执行。 Build->Downstream Jobs->发布循环,我们需要有一个 Build->Release->Downstream Jobs 图案。

因此,我们决定使用构建步骤创建一个单独的作业来执行作为目标的发布。这是我们用来实现此目的的指令:

-Pdmt -Dresume=false release:clean release:prepare release:perform -DautoVersionSubmodules

为这项工作放弃 M2 插件的结果是不再出现要求版本号的提示。随后,我们一直试图通过 Post-build Actions 来实现这一点,并传入预定义的参数。我们这里的问题是知道如何根据先前执行的作业传递动态参数。

我们正在研究的另一个角度是指定一个属性文件,主作业可以在其用于下游作业之前对其进行标记。

有没有人对我们如何实现这个工作流程有任何建议,或者是否有可能?

最佳答案

好的,JFTR 看起来是 outside of the scope Maven发布插件的:

To answer the question I had to enumerate some of the assumptions made by the Release plugin. I can tell you about these baseline assumptions and you can decide whether or not > something like the Maven Release plugin is appropriate for you.

What are these assumptions?

Your codebase is going to be versioned and released as a “unit”. What does this mean? This means that you are going to be releasing an entire project at once with all of its submodules. [sic] In Github it means that the Maven Release plugin is going to operate on an entire repository.


存储库、发布和生成的 Artifact 的复杂关系阻止我们以问题中描述的方式自动化任务

关于maven - 将发布版本参数传递给 Maven 中的下游作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7724402/

相关文章:

java - 将 Grails 命令添加到 Maven 阶段——我做错了什么?

java - Maven 中目标执行的机制

java - 如何将 -h 参数传递给 maven 编译器插件以创建 JNI 头文件

maven - 开发人员通常如何将 Docker 与 Java Maven 项目和 AWS EC2 一起使用?

java - 在最大尝试次数后,Testng RetryListener 未使测试用例失败

Maven 传递依赖混淆

java - Maven Jetty 插件 stopPort 和 stopKey 丢失或无效

java - 在 Docker 容器上开发 Java (Maven) 应用程序

eclipse - 如何消除 "maven-enforcer-plugin (goal "enforce") is returned by m2e"eclipse 警告?

java - 使用mvn测试版本号时Maven无法解析依赖关系