Не уверен, подходит ли это здесь на SO - если нет, то, пожалуйста, посоветуйте, где такой вопрос "devops" мог бы быть лучше.
В любом случае:
У меня есть сценарий, при котором среда тестирования проходит все тесты. Проблема в том, что среда развертывания жалуется на неопределенные переменные.
Где-то в моем коде есть что-то вроде следующего:
a_function(an_arg) {
return do_the_thing(an_arg, my_undefined_variable)
}
Функция do_the_thing
не принимает второй аргумент. Теперь очевидно, что my_undefined_variable
не существует (он также не входит в более широкую область), и этот код неверен.
Однако эта функция полностью покрыта нашими тестами mocha, которые выполняются в контейнере на основе circleci/node:8.14
в наших средах CI. Тесты также проходят локально, где я бегу node:8.11
.
В развертывании используется сборка образа докера поверх FROM node:8.14
. Т.е. почти точно соответствует среде CI (и близко к локальной среде).
Однако при развертывании выдается ReferenceError:my_undefined_variable is node defined
.
Я знаю, что это легко исправить, но мне любопытно, что может быть источником моей среды развертывания и среды тестирования, имеющей разные мнения о достоверности этого кода? Тем более что они, похоже, работают на совместимых версиях Node.
Любые идеи приветствуются и заранее благодарны.