更新时间: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()