file or directory
билдим имиджи на одном раннере, деплоить пытаемся на другом и возникает такая ошибка. Ещё и версии верфа разные. Т.е. в обоих случая werf converge запускается, но на втором раннере есть WERF_REQUIRE_BUILT_IMAGES=true, т.е. запрет на билд. Откуда берётся этот файл werf-config-render-1317998265 и что за цифры ? Может быть этот файл надо как-то сгенерить на втором раннере ?
mkdir -p /home/build/.werf/tmp на втором раннере решило проблему, но это похоже на баг: если мы не собираем имиджи на данном раннере, то почему tmp не создаётся ? Либо надо что-то перед конверджем запускать, что создаёт этот каталог, непонятно. (тут уже WERF_HOME в другое место перенесли в ходе экспериментов, но tmp всё равно не создавался)
Странный путь, обычно должно быть /tmp/werf-config-render-1317998265. Этот файл — результат рендера werf.yaml файла. Даже если сборка не запускается, отрендерить его все-равно нужно
Тут я совсем не понимаю, какое отношение эта директория имеет к рендеру werf.yaml
А что у вас возвращает env | grep WERF_? И какие флаги передаете werf converge'у?
директория скорее всего не к команде имеет отношение, а просто её там нет и файл редеринга положить некуда. Видимо директория создаётся где-то на ранних стадиях, где билд происходит, но если билд отключить, то директории нет. Такая же ошибка была и про converge, но я решил отдельной командой отрендерить - не помогло. WERF_* - ну там несколько переменных задано. Они же не могут влиять на создание или не создание каталога tmp. Просто мы переезжаем на другой раннер. Сперва все стадии сиай выполнялись на одном раннере - всё работало. Потом просто в одной стадии поменяли раннер и отключили билд - каталог перестал создаваться.
Дак он файл рендера по умолчанию должен складывать в /tmp/werf, если вы ничего не меняли. Попробуйте убрать переменные (или опции converge) WERF_HOME и WERF_TMP_DIR, чтобы дефолты подхватились
почему в /tmp/.werf ? На сколько я понял, по-умолчанию используется ~/.werf и в нём созаётся tmp (~/.werf/tmp) и вот он не создавался.
т.е. тут два варианта: 1. мы ничего не задаём и верф хочет сохранить рендер в /tmp/.werf/ 2. мы задаём WERF_HOME и тогда верф должен хотеть положить рендер файл в ${WERF_HOME}/tmp/ Тут нет логического противоречия ? /tmp/.werf - это откуда берётся ?
я опечатался, рендеры werf.yaml складываются в /tmp (tmp в рутовой директории), с именами типа werf-config-render-517620862. В ~/.werf складываются другие штуки
Хорошо, попробуем поменьше задавать переменных, все равно запланировали рефакторить сиай. Спасибо.
Обсуждают сегодня