且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

詹金斯奴隶-如何添加或更新环境变量

更新时间:2023-02-15 17:42:27

如果未选中环境变量"复选框,则可以使用的方法是使用nodeProperties.add(new EnvironmentVariablesNodeProperty)

A method that will work if the "Environment Variables" checkbox has not been ticked is to use nodeProperties.add(new EnvironmentVariablesNodeProperty)

我在部署时用于在Jenkins上设置环境变量的完整脚本如下(打算用jenkins-cli.jar调用):

The full script I'm using to set Environment Variables on Jenkins when deploying is below (intended to be called with jenkins-cli.jar):

import jenkins.model.*
import hudson.model.*
import hudson.slaves.*

String node_name = args[0]
String env_key = args[1]
String env_value = args[2]

instance = Jenkins.getInstance()
if (node_name == "master") {
  node = instance
} else {
  instance.getNode(node_name)
}
props = node.nodeProperties.getAll(hudson.slaves.EnvironmentVariablesNodeProperty.class)

if(props.empty) {
  def entry = new EnvironmentVariablesNodeProperty.Entry(env_key, env_value)
  def evnp = new EnvironmentVariablesNodeProperty(entry)
  node.nodeProperties.add(evnp)
} else {
  for (prop in props) {
    prop.envVars.put(env_key, env_value)
  }
}

instance.save()