2014-12-03 34 views
6

Tôi đang sử dụng Jenkins (v1.592) với Git Client Plugin (v1.12.0) và Git Plugin (v2.3).Trình kích hoạt xây dựng plugin của Jenkins Git RegEx bắt đầu công việc sai

Tôi có một công việc xây dựng phải được kích hoạt nếu có thay đổi trong kho git của tôi nếu các thay đổi được thực hiện KHÔNG ở gốc/chủ hoặc gốc/tên nhánh, trong khi N là số thập phân.

Tôi rất vui khi thấy, rằng Jenkins cho phép biểu thức chính quy như là một chi nhánh-specifier tại "Chi nhánh để xây dựng" tùy chọn. Nhưng tiếc là tôi không nhận được biểu hiện của tôi để làm việc một cách chính xác:

biểu hiện của tôi là:

:master|name(\d+) 

Tôi cũng kích hoạt "Chiến lược cho việc lựa chọn những gì để xây dựng" với tùy chọn "Inverse".

Khi tôi hiện đang đẩy thứ gì đó lên bản gốc của mình, nó sẽ được chọn và bản dựng sẽ bắt đầu.

Tôi đang sử dụng "Thăm dò ý kiến ​​SCM" không có lịch biểu và kích hoạt xây dựng với lệnh gọi tới URL thông báo của Jenkins notifyCommit.

Tôi cũng đã cố gắng sử dụng: (?! (Origin/master | origin/name \ d +)) làm regex mà không có tùy chọn nghịch đảo nhưng gặp lỗi ở đây.

+0

Nếu đây là câu hỏi về regex, bạn đang sử dụng công cụ regex nào? Thông thường, không ai viết động cơ của riêng họ, họ sử dụng một động cơ tiêu chuẩn. Họ sẽ nói _something_ của nó tương thích. Nếu không, đó là một loạt các cấu trúc phi tiêu chuẩn mới. – sln

+0

@vks Thật không may là không giải quyết được vấn đề. –

+0

@sln Như Jenkins được viết bằng Java, tôi cho rằng, nó sử dụng công cụ regex của Java. –

Trả lời

6

OK, tôi đã tìm thấy câu trả lời nhưng không tìm được giải pháp cho regex. Gần đây tôi đã thấy, rằng tôi có thể chỉ định nhiều chi nhánh với chức năng "Thêm Chi nhánh" - cho đến vài phút trước, tôi bị mù khi thấy nút "Thêm Chi nhánh".

Bằng cách chỉ định hai nhánh và kích hoạt chức năng nghịch đảo, nó hoạt động. Hai tên nhánh của tôi là: master và name * (* cho toán tử Wildcard).

Cảm ơn sự giúp đỡ của bạn!

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