CI переменных gitlab в werf.yaml. Хочу в beforeInstall использовать env переменную с токеном. Мне нужно предварительно разрешить использование env в giterminism? и ещё вопрос, использовать её в beforeInstall можно прям так $VAR или через go template {{ env VAR }}?
---
image: base-app
from: ubuntu:18.04
docker:
WORKDIR: /app
git:
...
shell:
beforeInstall:
{{- include "shell.stage common" . }}
- mkdir /usr/share/dir && cd /usr/share/dir
- >
curl --header "PRIVATE-TOKEN: $GITLAB_REPO_TOKEN" --url "https://gitlab.company.my/api/v4/projects/321/repository/files/my.db?ref=main" -o my.db
В gitermenism разрешать нужно. Через go template.
Стикер
а использовать secret values тут можно? или они только для helm?
только для helm для билдов секреты ещё не успели добавить
Читаю доку по werf build, там про подачу env-переменных ничего не сказано. Правильно ли я понял, что werf build использует переменные с префиксом WERF_, поскольку на них ссылаются дефолтные параметры, а все прочие env-переменные игнорирует, если явно не указано в giterminism? А как мне подать все переменные окружения, которые есть в конкретном gitlab-ci джобе? Подумал, что werf ci-env делает эту работу но там только "избранные" env-переменные.
По аналогии с Docker, все необходимые переменные окружения вы явно используете в werf.yaml с помощью функции env.
в том и дело, что то что мне надо - это вообще ARG в dockerfile, а не ENV
Всё так. Если используете Dockerfile, то использование аналогичное чистому Docker, только переменные окружения прокидываются на уровне werf.yaml с помощью директивы args.
а без использования Dockerfile могу использовать args для тех же целей?
Без использования args просто в командах используете переменную окружения через функцию.
Обсуждают сегодня