我在 Jenkins 中创建了一个参数化作业:
- 根据标签“V_x_y_z”获取源(Jenkins-SVN 集成)
- 执行 Maven 传递标签
- POM 使用 build-helper-maven-plugin 计算版本 xyz
生成的工件是正确的,但版本错误。
除了将命令行中的版本传递给versions-maven-plugin之外,我看不到任何方法可以更改生成的POM版本。但是 Jenkins 无法解析标签并将其转换为版本。
所以似乎只有“坏”的选择:
- 要求用户同时输入构建和标签 -容易出错
- 在 Maven 中执行结帐,而不是 jenkins - 这打破了关注点分离,因为 POM 本身是一个版本化的项目。
- 用脚本(比如 python)包装 maven - 但是我失去了 Jenkins-Maven 集成的好处
我会认为这是一个平庸的用例,并且很容易得到支持——我错过了一些关键要素吗?