2012-09-09 33 views
10

Tôi đang cố gắng lấy travis-ci để kiểm tra mô-đun nút của tôi bằng nút nhài. Khi tôi chạy các bài kiểm tra từ dòng lệnh, tất cả đều vượt qua, nhưng vì lý do gì đó, Travis luôn báo cáo bản dựng của tôi là không thành công. .travis.yml của tôi trông như thế này:Travis-CI với hoa nhài-nút

language: node_js 
node_js: 
    - 0.6 
    - 0.8 

và package.json của tôi trông như thế này:

"scripts": { 
    "test": "jasmine-node tests/*.spec.js" 
} 

Tôi đã thử thêm một before_script để travis.yml tôi

language: node_js 
node_js: 
    - 0.6 
    - 0.8 
before_script: 
    - "sudo npm i -g jasmine-node" 

Bất kỳ ý tưởng nào?

+0

Bạn có nút hoa nhài là phụ thuộc của dev không? Đầu ra từ thử nghiệm Travis-CI thất bại là gì? Bạn chỉ nên đăng một liên kết đến bài kiểm tra vì nó được công khai. –

+0

Tôi thực sự chỉ chạy. Tôi đang đăng câu trả lời của tôi ngay bây giờ. – thewildpendulum

+1

Cũng lưu ý rằng bạn có thể thêm các phụ thuộc phát triển vào package.json của bạn với cờ --save-dev. Ví dụ: 'npm install --save-dev jasmine-node' – Noah

Trả lời

10

Sau khi dành một chút thời gian với travis-ci lint web app, có vẻ như nó chỉ rơi xuống vấn đề định dạng trong tệp .travis.yml của tôi. Trình soạn thảo văn bản của tôi đã chèn các tab, trong đó có vẻ yaml yêu cầu bạn chỉ sử dụng dấu cách. Tôi cũng thêm dấu ngoặc kép xung quanh tất cả mọi thứ cho biện pháp tốt.

Nó bây giờ trông như thế này, sau khi đảm bảo tôi chỉ sử dụng khoảng trắng và ký tự dòng mới:

language: node_js 
node_js: 
    - "0.6" 
    - "0.8" 
before_script: 
    - "npm i -g jasmine-node" 
+0

Đã cập nhật để xóa 'sudo' khỏi' before_script' như được đề xuất bởi @ dan-tao – thewildpendulum

+0

Cảm ơn, điều đó đã giúp tôi! –

0

Tôi đã có một vấn đề tương tự một số thời gian trước đây, tôi đã được sử dụng tại -g thời gian nhài-nút và vì nó là một kata đơn giản, tôi nghĩ rằng không cần thêm một package.json trong thư mục, nhưng khi tôi chuyển sang tích hợp cùng một dự án đó với travis-ci, tôi đã đi qua địa ngục để có thể cấu hình nó.

Với thời gian tôi đã học được rằng nó là tốt hơn để giữ cho mọi thứ tốt đẹp và chặt chẽ và sử dụng package.json thân thiện của bạn thay vì cài đặt toàn cầu (Có một bài tốt nói về nó ở đây ví dụ: Why to avoid global test runners)

Lời khuyên của tôi sẽ cho bạn thêm hoa nhài-nút để các package.json, một cái gì đó càng ngắn càng này

{ 
    "name" : "XXX", 
    "version" : "1.0.0", 
    "devDependencies" : { 
     "jasmine-node" : "latest" 
    }, 
    "scripts" : { 
     "test" : "jasmine-node specs/*spec.js" 
    } 
} 

sẽ chắc chắn giúp bạn tiết kiệm đau đầu và tấn cấu hình thời gian không chỉ với hội nhập travis-ci, và nó cũng có thể tiết kiệm thời gian của người khác trong trường hợp ai đó muốn sử dụng lại những gì bạn đã làm. ;)

1

Đây là một kho lưu trữ với một ví dụ làm việc của việc xây dựng travis khởi chạy jasmine-node kiểm tra: https://github.com/yosethegame/yosethegame.

Lưu ý rằng package.json tuyên bố phụ thuộc jasmine-node mà travis sẽ cài đặt trong giai đoạn cài đặt npm của nó.

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