2012-04-04 31 views
5

Tôi sử dụng jenkins và tôi muốn thử nghiệm chạy tự động sau mỗi lần commit.Chạy thử nghiệm trong Jenkins tự động sau mỗi lần commit (thay đổi)

Tôi làm theo các hướng dẫn trong liên kết sau:

http://blog.cloudbees.com/2012/01/better-integration-between-jenkins-and.html

tôi nhấp Hãy Jenkins tự động quản lý các URL móc trong configuearion toàn cầu/Githup Web Hook và tôi đã thêm tên truy cập và mật khẩu của tôi cho githup nhưng vẫn sau thay đổi và đẩy vào repo, kiểm tra của tôi không chạy!

Github Hook Log: Bỏ phiếu vẫn chưa chạy.

Tôi có quên điều gì không?

P.S. Tôi có thể chạy các bài kiểm tra của mình theo cách thủ công (Nhấp vào Xây dựng ngay bây giờ) và tôi có thể thấy các cam kết của mình (các thay đổi) khi tôi xây dựng bài kiểm tra của mình.

Trả lời

2

Trước tiên tôi sẽ kiểm tra xem URL sau khi nhận có thực sự được đặt bởi Jenkins hay không. Truy cập github.com/YOURNAME/REPO/admin/hooks và mở URL sau khi nhận

Nếu không có gì, bạn có thể làm theo hướng dẫn ở trên về cách tự lắp đặt móc.

Nếu móc có trong github.com, hãy thử nhấp vào nút Kiểm tra móc. Nó có kích hoạt xây dựng không?

Nếu bản dựng vẫn không hoạt động, hãy kiểm tra xem có tường lửa giữa github và Jenkins của bạn có thể ngăn github.com kết nối với jenkins của bạn không.

Thông tin thêm về móc github gỡ lỗi là tại http://help.github.com/post-receive-hooks/

+0

Tôi có http: // localhost: 8080/github-webhook/trong URL sau khi nhận nhưng khi tôi nhấp vào Kiểm tra móc, nó không xây dựng các thử nghiệm của tôi! Tôi có nên chạy "gem install hook" không? – Shahrzad

+0

Tôi nghĩ rằng vấn đề như bạn đã đề cập nên là về tường lửa! Khi tôi nhấp vào URL Hook/Ghi đè Github Web Hook, nó nói "Nếu Jenkins của bạn chạy bên trong tường lửa và không thể truy cập trực tiếp từ internet, hãy thiết lập proxy ngược, đường hầm cổng, v.v ... để GitHub có thể gửi yêu cầu POST tới Jenkins của bạn tại http: // localhost: 8080/github-webhook /. Sau đó chỉ định URL mà GitHub sẽ POST tới đây. " Vậy giải pháp là gì? – Shahrzad

+5

Địa chỉ bạn định cấu hình thành URL sau khi nhận không thể có tên máy chủ lưu trữ ** localhost **. Nếu bạn yêu cầu Github thông báo ** localhost **, nó sẽ cố gắng tự thông báo. Jenkins của bạn có lẽ đang chạy trong máy tính của bạn, không phải của Github. Bạn cần phải có Jenkins của bạn có thể truy cập từ Github. Bạn cần một tên DNS hoặc địa chỉ IP có thể truy cập từ bên ngoài cho máy tính của bạn. Bạn cần hỏi quản trị viên mạng hoặc ISP của bạn về điều đó. – sti

1

Tôi có cùng một vấn đề để giải quyết mà tôi thêm một Poll SCM xây dựng Triggers và kế hoạch, cần cho mỗi H 2 phút/2 * * * *

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