当 jenkins 作业作为“执行 Maven 发布”运行时,如何在 shell 步骤中获取参数 MVN_RELEASE_VERSION 的值?

Posted

技术标签:

【中文标题】当 jenkins 作业作为“执行 Maven 发布”运行时,如何在 shell 步骤中获取参数 MVN_RELEASE_VERSION 的值?【英文标题】:When a jenkins job run as "Perform Maven Release" , how can I get the value of parameter MVN_RELEASE_VERSION in shell step? 【发布时间】:2016-09-01 16:24:29 【问题描述】:

当作业作为“执行 Maven 发布”运行时,我想获取“MVN_RELEASE_VERSION”的值,然后我可以在“Docker 构建和发布”步骤中设置 docker 标签的值,但 env 中只有“POM_VERSION”,那不是我想要的。

有什么方法可以获取它的值吗?

PS:

Jenkins 版本是 2.7.1

Maven 发布插件版本为 0.14.0

Maven 集成插件版本为 2.13

【问题讨论】:

【参考方案1】:

我通过set解决了这个问题:

JAVA_OPTS="-Dhudson.model.ParametersAction.keepUndefinedParameters=true"

我在这个页面找到了它: https://groups.google.com/forum/#!topic/jenkinsci-users/O2ccSWhKhpY

Daniel Beck 说这是 SECURITY-170 的副作用: https://wiki.jenkins-ci.org/display/JENKINS/Plugins+affected+by+fix+for+SECURITY-170

并给出了解决方法: https://jenkins.io/blog/2016/05/11/security-update/

【讨论】:

以上是关于当 jenkins 作业作为“执行 Maven 发布”运行时,如何在 shell 步骤中获取参数 MVN_RELEASE_VERSION 的值?的主要内容,如果未能解决你的问题,请参考以下文章

当 Jenkins 在 Ubuntu 上作为守护进程运行时,如何给它更多的堆空间?

如何在运行Jenkins CI管道时屏蔽作为用户输入传递的密码?

在詹金斯作业中使用 git repo 名称作为 ENV 变量

将单个 Jenkins 发布作业配置为使用 Perforce 作为 SCM 从主干或分支发布

在 Jenkins 中聚合下游参数化作业的结果

如何从 Jira 中的状态更改触发 Jenkins 作业