Можем ли мы сделать подстановку переменных в файлах YAML в IntelliJ? - PullRequest
0 голосов
/ 31 октября 2019

Я использую IntelliJ для разработки приложений Java, которые используют файлы YAML для свойств приложения. Эти YAML-файлы имеют некоторые параметры-заполнители / шаблоны, такие как:

credentials:
  clientId: ${client.id}
  secretKey: ${secret.key}

Мой конвейер CI / CD заботится о подстановке фактического значения этих параметров (client.id и secret.key) в зависимости от среды, в которойэто развертывается.

Я ищу что-то похожее в IntelliJ. Что-то вроде, я настраиваю некоторые статические / фиксированные значения для параметров (например: client.id и secret.key) в IDE, и когда я запускаю локально с помощью IDE, эти значения должны быть подставлены в эти файлы YAML и запущены.

Это на самом деле избавит меня от обновления файлов YAML с помощью параметров-заполнителей каждый раз, когда я проверяю некоторые другие изменения в моей системе управления версиями.

Ответы [ 2 ]

0 голосов
/ 01 ноября 2019

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

Для IDEA это просто обычный файл yaml.

IDEA имеет функцию языковой инъекции . Это может использоваться, например, для вставки sql в строку Java или для вставки любого языка в поле yaml. Это действительно хорошая функция, которая может помочь вам переименовать имена столбцов SQL также. но это не решит вашу особую проблему, потому что вы хотите сделать этот шаблон «работоспособным» внутри определенного контекста, где вы определяете свои переменные.

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

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

Если вам нужна дополнительная помощь, было бы полезно узнать, как выглядит ваш конвейер обработки yaml.

0 голосов
/ 01 ноября 2019

Я не вижу такой функции в IDEA.

Я бы порекомендовал вам использовать git stash, чтобы сохранить измененную версию для этих файлов конфигурации. Примените эти тайники, когда это необходимо.

Вы также можете создать запрос на функцию в YouTrack для этого, если предположите, что эта функция будет популярной.

...