Я пытаюсь запустить тест Jest во время развертывания Jenkins. Если я подключаюсь к серверу по ssh, я могу выполнить sudo для пользователя Jenkins и успешно запустить тесты из рабочей области. Однако я получаю сообщение об ошибке, когда пытаюсь создать проект из графического интерфейса. Вот моя настройка проекта:
Я установил плагин nodejs, который, в свою очередь, глобально устанавливает gulp, jest-cli и babel.
Затем в шагах сборки:
Тест завершается с ошибкой:
TypeError: Cannot read property 'getResourceByPath' of null
at Loader.getDependenciesFromPath (/var/lib/jenkins/workspace/PHPStaging/node_modules/jest-cli/src/HasteModuleLoader/HasteModuleLoader.js:570:39)
at /var/lib/jenkins/workspace/PHPStaging/node_modules/jest-cli/src/TestRunner.js:250:22
at process._tickCallback (node.js:368:9)
Running 6 test suites...
FAIL resources/__tests__/myTest.js
Похоже, у Node возникают проблемы с запросом модулей из тестов, но я не совсем уверен. Любая помощь или направление будут оценены.
/var/lib/jenkins/tools/jenkins.plugins.nodejs.tools.NodeJSInstallation/NodeJS_8.1.0/bin/npm install -g jest-cli
. ssh на ваш сервер jenkins и запустите набор тестов от имени пользователя jenkins, выполняющего установку этого узла. Наша проблема закончилась множеством проблем с правами доступа к файлам для пользователя jenkins. - person Georgemayer   schedule 02.04.2018