Всем привет. В Dockerfile используется ARG MODULE_VERSION Переменная MODULE_VERSION получается таким образом (мейкфайл): export

MODULE_VERSION := $(shell git describe --tags)
При сборке образа с помощью werf, эта переменная просто игнорируется и в образ передается пустая строка

Если же использовать в werf.yaml
args: { MODULE_VERSION: {{ env "MODULE_VERSION" }} }
То все работает, но идет ругань на то, что использование env не соответствует идее гитерминизма.

Собственно, вопросы:
1. Нормально ли, что переменная игнорируется, если нет соответствующей строчки в werf.yaml?
2. Как проще всего передать в образ имя тэга? Может, есть какая-то сервисная переменная?

Версия верфа 2.6.0

4 ответов

16 просмотров

1. Да, у вас же с чистым Docker она тоже не подхватится. 2. Вы всё делаете правильно для использования переменной окружения при сборке. Есть другой момент, нужно ли это на самом деле. В werf есть сервисные переменные для коммита, например.

Мы рекомендуем доверить жизненный цикл всех артефактов werf и не думать про то, что и как хранится в container registry. С werf пользователь не пересекается с конечными тегами, а на всех шагах оперирует их имена из werf.yaml. При отладке вся необходимая информация есть в лейблах контейнеров, а также в лейблах выкатываемых в K8s ресурсов. Давайте рассмотрим зачем и на каких стадиях вам требуются человекочитаемые теги и мы предложим оптимальное решение.

Похожие вопросы

Обсуждают сегодня

Всем привет. Понимаю, что, наверное, сто раз поднимали эту тему, но по ключевым словам не смог найти. Как передать в values.yaml зависимого хелм-чарта теги образов, собираемых...
Vitalik Petrov
4
@aigrychev, @ilya_lesikov добрый день! а поддерживает ли werf helm xxxx или werf bundle xxxx работу с сабчартами через http-прокси? (сработает ли использование HTTP_PROXY/HTTP...
Сергей Голод
4
Добрый день! Удалил все файлы с переменными из проекта, получил Error: release deploy: process resources: error validating adoptable resources: adoption validation failed: re...
Evgheni Mad
2
Всем привет. Werf v2.10.5 При удалении релиза вместе с неймспейсом (werf dismiss --namespace namespace_name) Сыпятся ошибки ┌ Waiting for resources elimination: namespaces/rel...
Vitalik Petrov
1
Привет! Вопрос про werf helm Приложение деплоится через werf helm upgrade --atomic Иногда(все условия для воспроизведения до конца непонятны, но есть версия, что это происходи...
𝓐𝓵͢͢͢𝓮𝔁 C
2
Всем привет. Сегодня добавили в приложение дополнительный образ nginx, в который докидывается системная статика прям в образ. При деплое бандлами деплоилось 200+ джоб(клиентов...
Владимир Муковоз
6
Добрый день, после перехода с версии 1.2 на 2.10 werf cleanup начал удалять использующиеся теги, и до и после обновления использовались дефолтные политики keepPolicies Подскаж...
Дмитрий
29
Блин а мне как поумнеть ?
Toxin
191
Друзья, добрый день. Прошу подсказать с базовым вопросом по использованию CI переменных gitlab в werf.yaml. Хочу в beforeInstall использовать env переменную с токеном. Мне нуж...
Anton Zol
10
Вопросик не совсем werf. Но вдруг мы подскажите воркэраунд или ещё что-нибудь. Могу ли я как-нибудь в моменте деплоя внутри heml рендера получить хэшсумму файла шаблона (./tem...
Alex Подрябинкин
11
Карта сайта