Jenkins中的Shell脚本无法通过Promotion Build插件获取有关POM_VERSION / POM_ARTIFACTID的信息

时间:2017-02-06 11:28:13

标签: shell maven jenkins jenkins-plugins

我正在尝试使用Promotion Build插件执行shell脚本以获取有关maven属性的信息(POM_VERSION,POM_ARTIFACTID)。

麻烦是显示Jenkins环境变量的值,但有关maven属性的信息显示为空。我正在测试的项目是MVN项目。

echo $POM_ARTIFACTID

echo $POM_VERSION

echo $PROMOTED_JOB_NAME
tests

echo $JOB_NAME
tests/promotion

这些是我正在使用的版本:

  • Jenkins 2.44
  • Maven Project Plugin 2.14
  • Promoted Builds Plugin 2.28.1

任何人都知道一些解决方案吗?

编辑:添加以下问题陈述

  1. 执行不同职位的构建
  2. 如果是绿球,我们想要执行一个脚本。在此脚本中,我们执行两个操作:
  3. 将正确构建后生成的工件.WAR传输到另一台计算机。
  4. 在另一台计算机上启动部署。
  5. 麻烦在于定位生成war的路径,WAR文件具有以下文件名格式:/ var / lib / jenkins / workspace / $ PROMOTED_JOBNAME / target / $ POM_A RTIFACTID- $ POM_VERS ION.war所以,我需要有关pom_artifactID和pom_version的信息,以获取.WAR的路径并执行shell脚本。

1 个答案:

答案 0 :(得分:0)

POM_ARTIFACTID,POM_VERSION未由提升的构建插件定义。有关公开的属性列表,请参阅this。更具体地说,“可用环境变量”部分。

当maven插件运行时,后期构建中可以使用POM版本和工件ID。我不认为pom版本可用于促进构建操作。请参阅Promotion Action

部分

从问题陈述中,看起来build pipeline pluginmultijob插件更适合。

更具体地说,在multijob插件中,您可以使用build创建不同的阶段,将其部署为一个接一个地运行的不同阶段。从maven作业中,您还可以使用后期构建操作中的阶段参数将POM版本和artifactid传递给其他项目。