2014-04-08 11 views
6

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?

Trả lời

7

Hóa ra điều này đơn giản hơn tôi nghĩ. Trong Cấu hình Gói, trong tab Kho lưu trữ, trên mỗi kho lưu trữ, trong Nâng cao, có đầu vào Bao gồm/loại trừ tệp nơi bạn có thể Tùy chỉnh những tệp Tre sử dụng để phát hiện các thay đổi. Bằng cách thêm một biểu thức chính quy ở đó, tôi đã giải quyết mọi thứ và làm việc như mong đợi.

mẫu tre phù hợp với tài liệu tham khảo: https://confluence.atlassian.com/display/BAMBOO/Pattern+matching+reference

2

Các Bamboo Documentation nói:

Bamboo sẽ bỏ qua xây dựng trigger nếu bản sao làm việc địa phương và bản sao kho có số phiên bản tương tự.

Điều này có thể không phải là giải pháp tốt nhất, nhưng bạn có thể thêm một nhiệm vụ thêm vào cuối của công việc/xây dựng mà cập nhật kho một lần nữa để tránh kích hoạt một xây dựng mới.

Tôi không chắc chắn nếu điều này sau đó sẽ bỏ qua các bản dựng từ bản cập nhật kho lưu trữ xảy ra trong quá trình xây dựng hiện tại.

+0

Đó 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

+0

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

+0

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

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