Plugin git cho hudson hoạt động tốt. Tuy nhiên, kịch bản lệnh xây dựng phải cập nhật số phiên bản trong các tệp trong kho lưu trữ, cam kết và đẩy trở lại kho lưu trữ.Vòng lặp vô hạn Hudson cho các thay đổi trong kho Git?
Khi Hudson thăm dò bên cạnh để kiểm tra các thay đổi, nó đi vào vòng lặp vô hạn vì nó thấy cam kết đó là "thay đổi", tạo lại thay đổi, vì vậy nó lại xây dựng, sau đó cam kết thay đổi khác, v.v. .. Bạn có được ý tưởng.
tôi dừng lại nó, chạy một "git log" trong mỗi kho và so sánh cam kết ids mới nhất là giống hệt nhau sử dụng git ls-cây ĐẦU
Ngoài ra, Hudson chạy lệnh này để kiểm tra xem có thay đổi:
git fetch + refs/heads/: refs/điều khiển từ xa/gốc/ git ls-cây đẦU
Kể từ Hudson tự đẩy cam kết từ kho không gian làm việc của mình, và dường như trận đấu kết quả ls-cây, làm thế nào có thể lệnh này xác định rằng đã có thay đổi?
Dường như nó phải lưu trữ kết quả của ls-tree trước khi thực hiện việc xây dựng và so sánh với kết quả không có cam kết mới nhất. Ah. Tôi có thể thử tắt cam kết để kiểm tra lý thuyết đó.
Dù sao, thay vì sửa bất kỳ vấn đề nào trong plugin git cho Hudson, tôi có thể làm gì để đảm bảo rằng phần cuối của bản dựng của tôi giống hệt nhau và Hudson sẽ thấy nó.
Cách sửa lỗi này? Bất kỳ ý tưởng?
Wayne
Chắc chắn đủ. Khi cam kết được nhận xét để kịch bản chỉ đẩy vào một vài kho lưu trữ, nó hoạt động đúng. Đó là, Hudson nhận ra không có thay đổi xảy ra và chờ đợi thay đổi mà không lặp. Vì vậy, làm thế nào để ngăn chặn vòng lặp vô hạn. Dường như plugin git cho Hudson lưu trạng thái repo sau lần tìm nạp ban đầu cho bản dựng. Nhưng có vẻ như nó sẽ lưu trạng thái repo một lần nữa sau khi xây dựng thành công trong trường hợp xây dựng đã thực hiện một cam kết - hoặc ít nhất là cho rằng như là một lựa chọn. Bất kỳ cơ thể nào có ý tưởng dễ dàng hơn, nhanh hơn để giải quyết vấn đề này? – Wayne
Ồ, tôi tìm thấy một cái nĩa của git-hudson-plugin trên github, nơi người khác dường như đã có thêm xử lý tình huống này. Tôi đang tải xuống và xây dựng và sẽ thử điều đó. Một lần nữa nếu có ai có giải pháp tốt hơn, vui lòng tư vấn. Tôi sẽ đăng lại nếu nó giải quyết nó. – Wayne