2016-11-01 1 views
5

Раньше я использовал systemJS-версию angular-cli, и всякий раз, когда я использовал для создания сборки из jenkins, сборка использовалась для отказа, если бы был какой-либо сбой теста.Как запустить ng-тест перед сборкой ng -prod и выполнить сбой jenkins при неудачном выполнении теста ng?

У меня только что было ng build --prod команда для создания моего проекта.

Теперь с webpack-версией angular-cli мы должны явно запустить ng test.

Как я могу проверить jenkins, удалось ли выполнить ng test и продолжить работу с ng build --prod или не сработает сборка?

+0

Вы могли выяснить, как это сделать? – Yousuf

+0

Не совсем, Тем не менее, я использую сцену ('Unit Test') {'sh 'ng test''} перед сценой (' Prod Build ') {' sh' ng build -prod''} в моем файле Jenkins – Gan

ответ

2

Вы можете создать НПМ сценарий, как показано ниже на провал вашей сборки в случае, если тесты не:

"scripts" : { 
    "cibuild": "ng test --code-coverage && ng build --prod --no-progress" 
} 

Выше предполагается, что вы имеете singleRun: true в файле karma.conf.js. Затем вы можете запустить npm run cibuild, который будет сначала запускать тесты, а затем строить только в случае прохождения тестов. Мы используем это для нашей сборки CI через Jenkins с последующим сканированием сонара.

+0

, файл этот скрипт входит? – user230910

+1

Вы можете добавить его в package.json. Он содержит секцию «скриптов» для создания ярлыков для более длинных команд. –

+0

Возможно ли обернуть наблюдателя вокруг этого, хотя он тестирует и строит, а затем следит и постоянно повторяется по мере развития? –

Смежные вопросы