簡體   English   中英

Jenkins中的Shell腳本無法通過Promotion Build插件獲取有關POM_VERSION / POM_ARTIFACTID的信息

[英]Shell script in Jenkins doesn't get info about POM_VERSION/POM_ARTIFACTID with Promotion Build plugin

我正在嘗試使用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

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

  • 詹金斯2.44
  • Maven項目插件2.14
  • 升級版插件2.28.1

有人知道一些解決方案嗎?

編輯:添加以下問題陳述

  1. 執行不同作業的構建
  2. 如果是綠球,我們要執行一個腳本。 在此腳本中,我們執行兩個操作:
  3. 將正確構建后生成的工件.WAR轉移到另一台機器上。
  4. 在另一台計算機上啟動部署。

麻煩正在查找產生戰爭的路徑,WAR文件具有以下文件名格式:/var/lib/jenkins/workspace/$PROMOTED_JOBNAME/target/$POM_A‌RTIFACTID-$POM_VERS‌ION.war。因此,我需要有關pom_artifactID的信息和pom_version具有.WAR的路徑並執行shell腳本。

升級的構建插件未定義POM_ARTIFACTID,POM_VERSION。 有關公開的屬性列表,請參閱this 更具體地說,“可用環境變量”部分。

當運行maven插件時,POM版本和工件ID在發布后可用。 我不認為pom版本可用於促進構建操作。 參見促進措施

從問題陳述來看,似乎更適合構建管道插件multijob插件。

更具體地說,在multijob插件中,您可以使用build創建不同的階段,將其部署為一個不同的階段,一個接一個地運行。 從Maven作業中,您還可以在后期構建操作中使用階段參數將POM版本和工件ID傳遞給其他項目。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM