簡體   English   中英

如何通過 jenkinsfile 在 jenkins 中永久更新 ENV 變量,以用於成功構建

[英]How to Update ENV variable permanently in jenkins through jenkinsfile, to be used in successful builds

需要我的 ENV 變量通過 jenkinsfile 更新它的值,並能夠在下一個 jenkinsbuild 中使用更新后的值

我在 jenkins 節點上創建了一個環境變量

在此處輸入圖像描述

我正在更新變量,得到這個 output`

println "${env.EOD_ID}"

env.EOD_ID = "23ba9d9e-93ce-4b46-a81d-8784794d81b1-test"

println "${env.EOD_ID}"

`

output:

test
10:29:31  [Pipeline] echo
10:29:31  23ba9d9e-93ce-4b46-a81d-8784794d81b1-test

但是當我運行下一個版本時,它沒有值 23ba9d9e-93ce-4b46-a81d-8784794d81b1-test

您不能那樣更新環境變量。 如果您使用的是EnvInject 插件,則可以使用以下腳本來更新環境變量。

ef persistInfo(){

    def jenkins = Jenkins.instance
    def jobA = jenkins.getItemByFullName("$JOB_NAME")
    def prop2 = jobA.getProperty(org.jenkinsci.plugins.envinject.EnvInjectJobProperty);
    def con = prop2.getInfo().getPropertiesContent();

    def str = "NewValue"
      
    def prop = new EnvInjectJobPropertyInfo("", str , "", "", "", false)

    def propNew = new org.jenkinsci.plugins.envinject.EnvInjectJobProperty(prop)
    propNew.setOn(true)
    propNew.setKeepBuildVariables(true)
    propNew.setKeepJenkinsSystemVariables(true)
    jobA.addProperty(propNew)

    jobA.save();
}

暫無
暫無

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

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