2016-11-01 20 views
5

Trước đó tôi đã sử dụng phiên bản systemJS của angular-cli và bất cứ khi nào tôi sử dụng để kick một build từ jenkins, build được sử dụng để thất bại nếu có bất kỳ trường hợp thử nghiệm nào thất bại.Làm thế nào để chạy thử nghiệm ng trước khi xây dựng --prod và thất bại công việc jenkins khi ng kiểm tra thất bại?

Tôi vừa có lệnh ng build --prod để xây dựng dự án của mình.

Bây giờ với phiên bản webpack của angular-cli, chúng tôi phải chạy rõ ràng ng test.

Làm cách nào để kiểm tra trong jenkins liệu ng test đã thành công và tiếp tục với ng build --prod hoặc người nào khác không thành công?

+0

bạn có thể tìm ra cách thực hiện việc này không? – Yousuf

+0

Không thực sự, Tuy nhiên, tôi đang sử dụng giai đoạn ('Unit Test') {'sh 'ng test''} trước giai đoạn (' Prod Build ') {' sh' ng build -prod''} trong tệp Jenkinsfile – Gan

Trả lời

2

Bạn có thể tạo một kịch bản NPM như dưới đây để không xây dựng của bạn trong trường hợp các cuộc thử nghiệm thất bại:

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

Ở trên là giả sử bạn có singleRun: true trong tập tin karma.conf.js của bạn. Sau đó, bạn có thể chạy npm run cibuild mà trước tiên sẽ chạy thử nghiệm và sau đó chỉ xây dựng nếu thử nghiệm vượt qua. Chúng tôi sử dụng điều này để xây dựng CI của chúng tôi thông qua Jenkins theo sau là một quét Sonar.

+0

của tôi tập lệnh này có đi vào không? – user230910

+1

Bạn có thể thêm nó vào package.json. Nó có chứa một phần 'kịch bản' để tạo phím tắt cho các lệnh dài hơn –

+0

Có thể quấn người quan sát xung quanh cái này quá mặc dù vậy nó kiểm tra và xây dựng rồi xem và lặp lại liên tục khi bạn phát triển? –

Các vấn đề liên quan