2013-07-30 45 views
7

Tôi đang sử dụng Travis CI để xây dựng dự án Python của mình. Tôi muốn thử nghiệm dự án của mình dựa trên các phiên bản Python khác nhau, nhưng sau đó có một kịch bản chỉ chạy nếu tất cả chúng đều thành công.Trong Travis CI, tôi có thể chạy tập lệnh sau khi tất cả ma trận xây dựng của tôi đã thành công không?

Ví dụ, travis.yml điều này không thực hiện công việc, kể từ khi phần after_success chạy sau mỗi lần của Python xây dựng:

language: python 
python: 
    - '2.7' 
    - '3.2' 
script: 
    - python setup.py test 
after_success: 
    - # this runs both on 2.7 and 3.2 

Có cách nào để làm điều này?

Trả lời

1

Chúng tôi đang làm việc trên một cái gì đó như thế này, nhưng tiếc là nó không thể ngay bây giờ trực tiếp từ Travis.

Bạn có thể sử dụng webhook để thực hiện việc này, yêu cầu này sẽ yêu cầu URL cho bạn. Tùy thuộc vào những gì bạn cần, điều này có thể làm việc cho bạn.

+1

Cảm ơn Henrik! Bạn có bất kỳ ý tưởng về thời gian cho việc này? –

+2

Có vẻ như điều này đang được theo dõi tại https://github.com/travis-ci/travis-ci/issues/929 – trask

+1

@henrikhodne Tôi có thể đọc về cách thiết lập tính năng này với webhook? –

1

Có các giải pháp tại https://github.com/alrra/travis-after-allhttps://github.com/dmakhno/travis_after_all.

Nó không phải là sạch trong tệp .travis.yml như là đề xuất của bạn, mà (như được ghi chú theo dõi) hiện đang bị giữ như được mô tả tại https://github.com/travis-ci/travis-ci/issues/929; các nhà phát triển nói "chúng tôi nhận thức được yêu cầu nhưng không có ETA khi nó sẵn sàng."

0

Điều này hiện có thể với tính năng Build Stages (hiện đang ở giai đoạn Beta).

Trong trường hợp cụ thể của bạn, bạn sẽ thêm một cái gì đó như:

jobs: 
    include: 
    - stage: deploy 
     script: ./deploy 
     python: 
     - '2.7' 
     - '3.2' 

để .travis.yml của bạn.

Xem this page để biết ví dụ.

(Lưu ý tôi đã xác định lại python trong giai đoạn triển khai, theo mặc định, nó sẽ lấy giá trị đầu tiên từ ma trận như được xác định trong công việc mặc định (test). mở rộng ma trận hoạt động trong các giai đoạn xây dựng.)