gpt4 book ai didi

java - 在 Jenkins 插件中设置 envvars

转载 作者:太空宇宙 更新时间:2023-11-04 10:49:20 24 4
gpt4 key购买 nike

我正在尝试开发新的 Jenkins 插件。我从 hello-world archetype 开始由 Jenkins 提供。我的插件工作正常!

Bun 现在我想从我的插件中添加一些环境变量。我已经使用whis代码来做到这一点

public void perform(Run<?, ?> run, FilePath workspace, Launcher launcher, TaskListener listener) {

...
EnvVars envVars = run.getEnvironment(listener);
envVars.put("SOME_VARIABLE", "SOME_VALUE");
...

}

但是这不起作用。我试图在下一个构建步骤中使用这个变量,但什么也没得到。我用谷歌搜索了一下,没有很明确的说明。现有插件(EnvInject 等)的源代码也没有帮助。

我做错了什么?有人可以给我一些 sample 吗?

最佳答案

来 self 的插件...

 private void putEnvVar(String key, String value) throws IOException {
Jenkins jenkins = Jenkins.getInstance();
DescribableList<NodeProperty<?>, NodePropertyDescriptor> globalNodeProperties = jenkins.getGlobalNodeProperties();
List<EnvironmentVariablesNodeProperty> envVarsNodePropertyList = globalNodeProperties.getAll(hudson.slaves.EnvironmentVariablesNodeProperty.class);

EnvironmentVariablesNodeProperty newEnvVarsNodeProperty = null;
EnvVars envVars = null;

if (envVarsNodePropertyList == null || envVarsNodePropertyList.isEmpty()) {
newEnvVarsNodeProperty = new hudson.slaves.EnvironmentVariablesNodeProperty();
globalNodeProperties.add(newEnvVarsNodeProperty);
envVars = newEnvVarsNodeProperty.getEnvVars();
} else {
envVars = envVarsNodePropertyList.get(0).getEnvVars();
}
envVars.put(key, value);
}

关于java - 在 Jenkins 插件中设置 envvars,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48010603/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com