Привет, ребята.
Возможно ли — я понимаю, что это вопрос по yaml, но подумал, что эксперты здесь должны знать — подставлять параметры/переменные собственными средствами ОС (bash) во время сборки?
Например…
host: /APPOW/log/${HOSTNAME}/discourse.test
Я думал, что это должно работать из коробки, но у меня не получилось. Спасибо.
Спасибо. Нет, если я временно не ослеп — что возможно, — это не отвечает на мой вопрос. Так ведь?
Речь идет об переменных окружения ОС и переменных оболочки, которые в YAML будут разрешаться к их значениям — опять же, установленным в оболочке хоста (они не существуют в .yml).
Нет.
Вы можете задать их в момент запуска, но не во время сборки.
Чего вы пытаетесь добиться, полагая, что замена ENV в yaml во время сборки решит задачу?
Эти небольшие мелкие правки становятся настоящими спасителями при масштабировании, даже если это всего лишь на немного.
Приведённый выше пример наиболее красноречив — нет необходимости каждый раз «исправлять» его в yaml при сборке в разных окружениях или на разных хостах.
Я поискал в интернете и нашёл примеры, в которых утверждается, что такая простая подстановка должна работать для YAML, но мне не удаётся заставить это работать.
Я не верю, что лаунчер заменит эти переменные окружения (ENV). Возможно создать образ, а затем запускать один и тот же образ несколько раз с разными доменными именами. Вы можете выполнить
./launcher start-cmd app
чтобы увидеть, какие переменные окружения (ENV) необходимы для запуска.
Чтобы сделать это на хосте, который еще не прошел процесс начальной настройки (bootstrap), вам потребуется выполнить миграцию базы данных и предкомпиляцию ассетов.
Это, безусловно, стало бы отличным улучшением для будущих версий лаунчера, если бы это было возможно.