Demi44
@Demi44
System administrator, devops

Docker по разному обрабатыавет команды?

Привет All !
Вопрос простой, есть Jenkins который стандартно при обновлении ветки какчает обновления и билдит проект. Билд по сути - по очереди выполнение списка команд. Так вот на одной команде все падает, а именно, когда после
Jenkins обновляет каталог:
docker exec -i workspace git -C /var/www// pull
после идет
docker exec -i workspace composer install -d /var/www/

и тут проблема, команда посланая в контейнер извне - падает с ошибкой:

node-zopfli@2.0.2 install /var/www/staging/laravel/node_modules/node-zopfli
> node-pre-gyp install --fallback-to-build

node-pre-gyp ERR! Tried to download(403): https://node-zopfli.s3.amazonaws.com/Release/zopfli-v2.0.2-node-v11-linux-x64.tar.gz 
node-pre-gyp ERR! Pre-built binaries not found for node-zopfli@2.0.2 and node@0.10.29 (node-v11 ABI) (falling back to source compile with node-gyp) 
make: Entering directory '/var/www/staging/laravel/node_modules/node-zopfli/build'
  CXX(target) Release/obj.target/zopfli/src/zopfli-binding.o
In file included from ../src/zopfli-binding.h:5:0,
                 from ../src/zopfli-binding.cc:3:
../../nan/nan.h:324:47: error: 'REPLACE_INVALID_UTF8' is not a member of 'v8::String'
   static const unsigned kReplaceInvalidUtf8 = v8::String::REPLACE_INVALID_UTF8;


Я понимаю что ему надо поставить либу zopfli, а она не доступна, но тогда почему когда я захожу в контейнер и запускаю ту же команду - проект собирается без проблем ?
Сегодня удалили либу которая подтягивала zopfli - проблема не ушла. Уже не знаю куда копать.
  • Вопрос задан
  • 224 просмотра
Решения вопроса 1
Demi44
@Demi44 Автор вопроса
System administrator, devops
Решение оказалось проще некуда, проблему выяснил после того как оказалось что у меня в контенере стоит две версии node
такой вариант показывал одну версию
docker exec -i workspace node --version
docker exec -i workspace which node


а внутри контенера - другую. Стало понятно что при выполнении комманд вызываются разные node. После проведения инвентаризации Dockerfile и пересоздания базового образа с нужными версиями и путями - проблема исчезла
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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