«Ввести переменные среды» Jenkins 2.0

Недавно я обновился до Jenkins 2.0.

Я пытаюсь добавить этап сборки в задание Дженкинса «Ввести переменные среды» в соответствии со строками этого сообщения SO , но он не отображается как опция.

Разве это не функция Jenkins 2.0 (или это всегда был отдельный плагин)? Нужно ли мне устанавливать другой плагин, например Envinject?


person MrColes    schedule 28.04.2016    source источник
comment
Ваша работа Дженкинса - это конвейер или стандартная работа?   -  person Bruno Lavit    schedule 29.04.2016
comment
Стандарт. В итоге я установил этот плагин, и теперь он, кажется, работает нормально. Просто казалось, что мне никогда не приходилось делать это с более ранними версиями, но, возможно, я ошибаюсь ...   -  person MrColes    schedule 01.05.2016


Ответы (1)


Если вы используете Jenkins 2.0, вы можете загрузить файл свойств (который состоит из всех необходимых переменных среды вместе с их соответствующими значениями) и автоматически прочитать все перечисленные там переменные среды и ввести их в предоставленную Jenkins сущность env.

Вот метод, который выполняет вышеуказанное действие.

def loadProperties(path) {
    properties = new Properties()
    File propertiesFile = new File(path)
    properties.load(propertiesFile.newDataInputStream())
    Set<Object> keys = properties.keySet();
    for(Object k:keys){
    String key = (String)k;
    String value =(String) properties.getProperty(key)
    env."${key}" = "${value}"
    }
}

Чтобы вызвать этот метод, нам нужно передать путь к файлу свойств в виде строковой переменной. Например, в нашем файле Jenkins, используя Groovy-скрипт, мы можем вызвать как

path = "${workspace}/pic_env_vars.properties"
loadProperties(path)

Пожалуйста, спросите меня, есть ли у вас сомнения

person Sumanta Mondal    schedule 07.01.2019