Расширение плагина Jenkins / Hudson для установки пары переменных среды - PullRequest
6 голосов
/ 15 августа 2011

Я расширяю существующий плагин Jenkins / Hudson. Я хотел бы установить пару переменных среды для работающего проекта. Какой самый простой способ сделать это?

Ответы [ 3 ]

7 голосов
/ 12 ноября 2012

Во время сборки, например, методом Builder perform(), вы можете сделать по крайней мере это:

@Override
public boolean perform(Build<?, ?> build, Launcher launcher, BuildListener listener)
                       throws InterruptedException, IOException {
    //...
    List<ParameterValue> params = new ArrayList<ParameterValue>();
    params.add(new StringParameterValue(name1, value1));
    params.add(new StringParameterValue(name2, value2));
    build.addAction(new ParametersAction(params));
    //...
}

Он добавит пары ключ-значение в качестве параметров сборки, которые также будут видны как переменные среды обычным способом. Примечание: я не проводил такого тщательного тестирования, может быть, есть какая-то «ошибка», которая проявляется в некоторой ситуации ... Но до сих пор это работало для меня.

1 голос
/ 15 августа 2011

Используйте плагин EnvInject .Вы можете создать переменные среды до начала работы или сделать это в качестве шага сборки.

0 голосов
/ 24 мая 2012

Вы можете использовать точку расширения EnvironmentContributor, см. http://javadoc.jenkins -ci.org / hudson / model / EnvironmentContributor.html

...