Tôi có kế hoạch trong Tre bắt đầu bất cứ khi nào thay đổi được thực hiện cho các kho lưu trữ đính kèm (thông qua bỏ phiếu).Atlassian Bamboo: không kích hoạt xây dựng nếu thay đổi được thực hiện cho một tệp cụ thể
Bây giờ, trên mỗi bản dựng, nếu thành công, một tệp CHANGELOG được cập nhật trong repo, do đó, sẽ kích hoạt một bản dựng khác. Làm thế nào tôi có thể bỏ qua một số tập tin từ bỏ phiếu của tre, để xây dựng không được bắt đầu nếu thay đổi được tìm thấy cho những tập tin đó? Bởi vì nếu không, tôi nhập vào vòng lặp vô hạn, với một sự thay đổi để CHANGELOG kích hoạt xây dựng khác mà lần lượt cập nhật CHANGELOG và như vậy.
Nếu điều này là không thể, các giải pháp khả thi khác là gì? Có thể đính kèm một kịch bản lệnh shell ở đâu đó trước khi xây dựng bắt đầu kiểm tra xem nó có muốn bắt đầu một bản dựng mới không?
Đó là một ý tưởng tốt, nhưng không may, hai vấn đề nảy sinh: xây dựng vẫn đang kích hoạt nếu cam kết xảy ra trong khi một phiên bản đã được tiến hành và bằng cách thêm một nhiệm vụ kiểm tra mã nguồn bổ sung trong kết thúc công việc, kết quả kiểm tra được loại bỏ do đó tác vụ phân tích cú pháp junit không thành công trong quá trình xây dựng không thành công. – linkyndy
Tôi không hiểu rõ vấn đề đầu tiên. Tại sao điều này là một vấn đề? Và bạn không thể chạy kiểm tra mã nguồn bổ sung sau khi tác vụ phân tích cú pháp junit? – Luke
Vấn đề đầu tiên là vấn đề bạn đã đề cập trong cụm từ cuối cùng của mình. Nếu tôi cam kết một cái gì đó từ bản dựng hiện tại, một cái khác sẽ được kích hoạt bất kể tôi có thêm công việc kiểm tra mã nguồn bổ sung trước khi công việc kết thúc hay không. Về cái kia, không, tôi không thể, bởi vì khi tôi thực hiện kiểm tra mã nguồn thứ hai, mọi thứ đều bị loại bỏ (vì tôi phải ép buộc xây dựng sạch) và do đó là kết quả kiểm tra. Không có kết quả để phân tích cú pháp, nhiệm vụ junit thất bại và do đó, xây dựng. – linkyndy