2016-11-29 95 views
0

我有一個使用EnvInject插件設置環境值的版本。 不同的工作需要掃描該工作的最後一個良好Jenkins構建並獲取該環境變量的值。Jenkins的EnvInject插件不會保留值

這一切都很好,除非有時變量會從構建歷史中消失。看起來經過一段時間後,當我查看構建歷史中的「環境變量」部分時,注入的值就會消失。

我該如何堅持下去?這是一個錯誤還是設計的一部分?

如果有區別,注入變量的值爲+1500個字符,格式如下:'component1 = 1.1.2; component2 = 1.1.3,component3 = 4.1.2,component4 = 1.1.1 ,component4 = 1.3.2,component4 = 1.1.4'

回答

0

看起來像EnvInject和/或JobDSL有一個錯誤。

重現步驟:

  1. 設置運行此JobDSL工作:

    job('run_deploy_mock') { steps { environmentVariables { env('deployedArtifacts', 'component1=1.0.0.2') } } }

  2. 運行它,它會創建一個名爲 'deploy_mock'

  3. 工作運行'deploy_mock'作業。構建#1完成後,去建立資料,然後勾選「環境變量」一節名爲「COMPONENT1」
  4. 條目運行JobDSL作業再次
  5. 檢查「環境變量」的「deploy_mock」部分建#1。 'component1'變量現在缺失。

如果我用'='代替別的東西,它按預期工作。

創建Jenkins Jira