В английской версии документации к докер инструкциям я увидел этот

пункт:

> Tip: you can also export environment variables right to the user stage instructions.

В русской версии это выглядит так:

> Если вам требуются определённые переменные окружения во время сборки (например, TERM), то вам необходимо ..., или экспортировать их в пользовательской стадии.

Я пытаюсь с этим как-то поэкспериментировать, определив переменную в user stage вместо docker stage, чтобы попытаться использовать её внутри скрипта, но у меня ничего не выходит и я не совсем понимаю в таком случае как этот пункт в документации интерпретировать.

Можно ли прописать какую-то дефолтную переменную, а потом, допустим, прописать условие в user stage, которое в случае чего, переопределит переменную, чтобы таким образом все прописывавалось через staple? Либо просто экпортировать переменную из user stage в контейнер, если она не определена в docker stage как в моем случае?

docker:
# ENV:
# MESSAGE: "Hello!"
CMD: ["/bin/sh", "/app/message_generator.sh"]
shell:
beforeInstall:
- export MESSAGE="Hello!"

Сам скрипт:

while true; do
echo "$MESSAGE"
sleep 5
done

3 ответов

14 просмотров

Нет, сейчас надо явно экспортировать переменные окружения в каждой пользовательской стадии. Директива docker влияет исключительно на конечный манифест.

Alex- Автор вопроса

У меня есть простой pipeline, где использование converge вписывалось бы идеально, но есть один момент, который я все еще не понимаю как решить. Build docs: stage: build script: - MKDOCS_MATERIAL_VERSION=$(grep 'mkdocs-material==' requirements.txt | sed 's/mkdocs-material==//') - docker build --build-arg mkdocs_material_version=$MKDOCS_MATERIAL_VERSION -t my-docs-image . В данном случае используется команда 'docker build' с динамически определенным аргументом DOCKER_BUILD_ARGS. И пытаясь воспроизвести нечто подобные с werf, я так и не понял, как я бы мог динамически определять переменные, которые бы передавалсиь для build time верфи. Можно ли это как-то реализовать? Самым простым вариантом было бы просто передать выведенный аргумент через флаг во время исполнения 'werf converge', но я такого флага не нашел. Передавать перменные в staple между user и build stage я не могу. В примерх с gitlab ci ничего релеватного для своего случая тоже не нашел.

Alex
У меня есть простой pipeline, где использование co...

args https://werf.io/docs/v2/reference/werf_yaml.html#L40 + env https://werf.io/docs/v2/reference/werf_yaml_template_engine.html#environment-variables

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

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

Всем привет. Понимаю, что, наверное, сто раз поднимали эту тему, но по ключевым словам не смог найти. Как передать в values.yaml зависимого хелм-чарта теги образов, собираемых...
Vitalik Petrov
4
Всем привет. Werf v2.10.5 При удалении релиза вместе с неймспейсом (werf dismiss --namespace namespace_name) Сыпятся ошибки ┌ Waiting for resources elimination: namespaces/rel...
Vitalik Petrov
1
@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 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
Карта сайта