Заменить содержимое файла значениями среды - Jenkins - PullRequest
0 голосов
/ 20 июня 2019

В моем конвейере Jenkins я загружаю свойства среды из файла с помощью плагина.При этом я хотел бы заменить содержимое файла загруженными или доступными переменными среды.

Пример: свойство, загруженное из файла, который содержит значения ниже

property1=value1
property2=value2

Содержимое файла для замены наПеречисленные выше переменные

properties: 
  property1: $property1
  property2: $property2

Ожидаемый вывод

properties: 
  property1: value1
  property2: value2

Я перепробовал несколько плагинов, но я нашел их для чтения текста и записи в файл, но мне нужно прочитать файл и записатьв новый файл с замененными переменными.

Ответы [ 3 ]

0 голосов
/ 20 июня 2019

Как насчет использования простого скрипта, содержащего команду sed? Создание нового файла не должно иметь большого значения.

Посмотрите на один из следующих примеров:

Это должно соответствовать вашим требованиям.

0 голосов
/ 24 июня 2019

Я нашел это эффективным для моей проблемы после того, как попробовал несколько подходов.

После установки или загрузки свойств из файла

eval "echo \"$(<my-template.yaml)\"" > my-config.yaml
0 голосов
/ 20 июня 2019

Вы можете попробовать использовать writeFile step и динамически генерировать контент.

  1. Генерировать содержимое динамически в цикле, используя valuate ("$ property") Метод для значений
  2. Передать содержимое в writeFile step.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...