Def runWerfPodman(String werfargs, String dirPath=".", boolean main=true){ sh """#!/bin/bash

-l
set -o pipefail
cd ${dirPath}
export WERF_TELEMETRY=0
export WERF_LOG_COLOR_MODE=on
export WERF_PLATFORM=linux/amd64
export WERF_DOCKER_CONFIG=/run/containers/0/
export WERF_LOG_DEBUG=true

ln -s /run/containers/0/auth.json /run/containers/0/config.json
podman system service --timeout 0 &
ln -s /run/podman/podman.sock /var/run/docker.sock

werf version
type werf && source <(werf ci-env gitlab --tagging-strategy=stages-signature --verbose)
printenv
werf helm dependency update .helm
if ($main); then
if [[ ${env.WERF_ENV} == "aws-production" ]]; then
werf render | tee info_aws.yaml
else
werf render | tee info.yaml
fi
fi
if [ \$? -ne 0 ]; then
export WERF_LOG_DEBUG=true
werf helm dependency update .helm
sleep 9600
fi
if [[ ${env.WERF_ENV} == "dev" ]]; then
werf ${werfargs}
if [ \$? -ne 0 ]; then
export WERF_LOG_DEBUG=true
werf ${werfargs}
fi
elif [[ ${env.WERF_ENV} != "dev" && ${werfargs} == "converge" ]]; then
werf ${werfargs} -R
else
werf ${werfargs}
fi""".trim()
}
Мы используем образ как slave для Jenkins, чтобы он deploy через наш локальный кластер от Deckhouse

15 ответов

30 просмотров

Почему не использовать buildah-сборщик werf для сборки в контейнерах?

vⱥ𝖉iϻ-ϻⱥlͥтsͣeͫv♛ Автор вопроса
vⱥ𝖉iϻ ϻⱥlͥтsͣeͫv♛
buildah не запускается в контенере

Инструкция для запуска в Docker-контейнере Инструкция для запуска в Kubernetes Прѣидѣте ужє на 1.2, 1.1 нѣ поддрьживатисѧ 🙏🏼

vⱥ𝖉iϻ-ϻⱥlͥтsͣeͫv♛ Автор вопроса
Aleksei Igrychev
Инструкция для запуска в Docker-контейнере Инструк...

я все равно не понял, как мне в docker image запустить Buildh

vⱥ𝖉iϻ ϻⱥlͥтsͣeͫv♛
screenshot Что вот я не так делаю

buildah напрямую запускать не надо. Он вшит в werf и запускается под капотом werf build

Ilya Lesikov L.
buildah напрямую запускать не надо. Он вшит в werf...

чтобы buildah работал, надо либо использовать наши образы (напр. registry.werf.io/werf/werf:1.2-stable), либо сделать схожий образ, в котором выполнены те же самые инструкции, что и здесь: https://github.com/werf/werf/blob/main/scripts/werf-in-image/ubuntu.Dockerfile

Aleksei Igrychev
Инструкция для запуска в Docker-контейнере Инструк...

у вас кстати недостаточно инфы в доке по поводу buildah как мне кажется на днях решил потестить buildah сборщик, и совсем не понял как его активировать, werf просто жаловался что нет сокета докера в системе и падал, при этом вот здесь https://ru.werf.io/documentation/v1.2/index.html?usage=localDev&os=linux&buildBackend=buildah ничего не написано о том как его активировать, только указаны необходимые условия. Потом поиском по чату обнаружил WERF_BUILDAH_MODE=auto, ни в werf build --help ни в доках этого не нашел понятное дело, что видимо при запуске внутри контейнера, werf сам определяет что надо собирать через buildah, но всё равно когда хочешь его пощупать просто локально, совсем не очевидно из доки и --help как собственно его активировать

Dmitry Sergeev 🇺🇦
у вас кстати недостаточно инфы в доке по поводу bu...

На той странице, которую скинули, там есть вторая вкладка, там про WERF_BUILDAH_MODE=auto написано. Или вторая вкладка не заметна?

Dmitry Sergeev 🇺🇦
ого, я там был, но не увидел. Извиняюсь

лично у меня были сомнения на счет второй вкладки, что могут пропускать

vⱥ𝖉iϻ-ϻⱥlͥтsͣeͫv♛ Автор вопроса
Ilya Lesikov L.
лично у меня были сомнения на счет второй вкладки,...

ну я еще странее, я эту вкладку видел, но за WERF_BUILDAH_MODE глаз не зацепился. Возможно это из-за бэкграунда, посмотрел первые пару строк, последние пару строк - типичная инструкция по запуску converge, и даже не вчитывался в переменные

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

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

Всем привет. Понимаю, что, наверное, сто раз поднимали эту тему, но по ключевым словам не смог найти. Как передать в 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
Карта сайта