интеграция транспортира с jenkins

Мне нужна помощь в интеграции кода транспортира с Jenkins. Я новичок в Jenkins, поэтому я не уверен, подходит ли Jenkins или Cruise Control, поскольку в настоящее время у нас есть сборки в Cruise Control, но мы можем перейти на Jenkins, если это лучше. Может ли кто-нибудь помочь мне с любыми учебными пособиями, чтобы связать мою задачу транспортира с Дженкинсом или круиз-контролем? В настоящее время мы используем Gulp в качестве оболочки над кодом Javascript для выполнения. Мы запускаем его с помощью команды Gulp test --site folder name Должен ли я просто указать эту команду в параметре Execute shell script Jenkins?


person NewWorld    schedule 07.09.2016    source источник


Ответы (2)


Да, запустить тесты Protractor из любого инструмента CI несложно.

Шаг 1: Просто настройте задание круиз-контроля/Jenkins с помощью «Выполнить оболочку» в качестве шага сборки. Шаг 2: В зависимости от вашего выбора запущенных тестов.. создайте файл bat

echo Protractor Execution
Protractor protractor.conf.js // In case running with protractor
npm run --e2etests // In case running with npm run config in package.json
Gulp test --site folder name // In your case
echo Over and out.

Шаг 3. Укажите шаг сборки задания, чтобы запустить пакетный файл.

person AdityaReddy    schedule 07.09.2016
comment
Я попытался использовать команду /Users/akuchhal/Desktop/tests/file.bat в Execute Shell, а также упомянул следующее в файле .bat, но это не работает. echo Protractor Execution Gulp test --site имя папки echo Снова и снова. есть ли что-нибудь еще, что мне нужно сделать. - person NewWorld; 07.09.2016
comment
Вы запускали файл bat напрямую и проверяли, работает ли он, прежде чем запускать его из Jenkins? - person AdityaReddy; 07.09.2016
comment
Нет, это не работает. Он говорит, что команда не найдена. Раньше выдавала ошибку разрешения, и когда я использовал sudo ./file.bat, он говорит, что команда не найдена - person NewWorld; 07.09.2016
comment
Вы запускаете его на локальной машине или на машине Дженкинса? Узел и его зависимости установлены на машине Jenkins? пакеты gulp установлены? Это работало в командной строке? если заработало..бат файл не отличается.... - person AdityaReddy; 07.09.2016
comment
Команда, которую я имею в файле .bat, - это gulp test --site имя папки. Это работает нормально, когда я запускаю ее в терминале. - person NewWorld; 07.09.2016
comment
Я использую его на локальной машине. Да, узел и все остальное установлено, и эта команда отлично работает в терминале. - person NewWorld; 07.09.2016
comment
Я не уверен, что вы имеете в виду «cmd», когда говорите «терминал». Но какую машину вы используете? если окна .. можете ли вы подтвердить, пробовали ли вы то же самое из cmd и сработало ли это? - person AdityaReddy; 07.09.2016
comment
Я использую MAC-терминал - person NewWorld; 07.09.2016
comment
о .. в mac файле bat все работает по-другому, и, возможно, вам нужны настройки пути. Просто попробуйте указать команду непосредственно в Jenkins вместо файла .bat и проверьте, все ли в порядке. Если нет... возможно, вам нужно указать путь - stackoverflow.com/questions/24027551/ - person AdityaReddy; 07.09.2016
comment
Сейчас он запускается из Jenkins, но получает ошибку Ошибка: ENOENT: нет такого файла или каталога, откройте «.env» при ошибке (собственный) в Object.fs.openSync (fs.js:640:18) в Object.fs. readFileSync (fs.js:508:33) в Object.config (/Users/akuchhal/.jenkins/workspace/Demo/node_modules/dotenv/lib/main.js:30:37) в Object.‹anonymous› (/Users /akuchhal/.jenkins/workspace/Demo/ProtractorConfig.js:2:19) в Function.Module._load (module.js:424:3) errno: -2, код: 'ENOENT', системный вызов: 'open', путь: '.env' } - person NewWorld; 07.09.2016

Я разобрался с этим. Он отлично работает, когда я напрямую ввожу команду транспортира в Дженкинсе. У меня есть некоторые проблемы с командой gulp в jenkins, но я открою отдельный поток по этому поводу.

person NewWorld    schedule 08.09.2016