2017-08-21 12 views
5

Mỗi lần commit vào git repo của tôi sẽ kích hoạt xây dựng đường dẫn Jenkins của tôi.Jenkins: tìm số bản dựng cho git commit

Tôi muốn truy xuất buildNumber của một phiên bản cũ bằng băm cam kết. Làm thế nào tôi có thể làm điều đó?

Tôi biết thông tin này tồn tại vì tôi có thể tìm thấy thông tin đó trong giao diện người dùng.


Một số nền là tại sao tôi muốn điều này: Khi ai đó thẻ một cam kết Tôi muốn tạo ra một thông cáo (bằng cách gắn thẻ một hình ảnh Docker). Mỗi bản dựng sẽ đẩy hình ảnh chứa số bản dựng. Vì vậy, tôi muốn tìm ra số bản dựng nào tương ứng với cam kết đó để tôi có thể tìm thấy hình ảnh mà tôi muốn phát hành.

Trả lời

2

Cài đặt plugin Lucene https://wiki.jenkins.io/display/JENKINS/Lucene-Search và bạn sẽ có thể tìm kiếm bằng băm cam kết chỉ qua thanh tìm kiếm mặc định của Jenkins! (Nhưng đọc tài liệu plugin, cho cũ được xây dựng để có thể tìm kiếm bạn cần phải xây dựng lại cơ sở dữ liệu)

Nếu bạn muốn làm điều đó programatically bạn có thể sử dụng Jenkins api, ví dụ http://jenkinsapi.readthedocs.io/en/latest/using_jenkinsapi.html#example-5-getting-version-information-from-a-completed-build

Chỉ việc điều chỉnh chức năng trong ví dụ không để có được xây dựng thành công mới nhất, nhưng để có được tất cả các bản xây dựng và nhận được băm của họ sau đó lọc bộ này.

+0

Cảm ơn câu trả lời của bạn. Tôi chắc rằng điều này có thể hữu ích để tìm kiếm một bản dựng cũ theo cách thủ công. Tôi cần truy cập thông tin này một cách có lập trình (không phải trong giao diện người dùng), điều này có thể được thực hiện với lucene không? – herm

+0

@herm cập nhật câu trả lời – ka4eli

-1

Nếu tôi hiểu câu hỏi của bạn một cách chính xác, thì trước tiên bạn sẽ cần tạo một móc git để kích hoạt một bản dựng mới. Phần này được đề cập trong câu trả lời How do I react to new tags in git hooks? ', mặc dù nếu bạn đang sử dụng một cái gì đó như GitHub, BitBucket hoặc Gitlab, thì có thể có những cách khác để thực hiện nó.

Sau đó, khi xây dựng được bắt đầu, sau đó có số bản dựng được cung cấp dưới dạng biến 'BUILD_NUMBER', trong Jenkins. Nếu bạn muốn bao gồm tên thẻ git, vì vậy bạn có thể sử dụng nó trong một kịch bản, sau đó có vẻ là một fews cách:

Điển hình là các plugin sẽ tạo ra một biến môi trường có thể được tiêu thụ bởi các tập lệnh của bạn. Tôi không cung cấp nhiều ví dụ cụ thể hơn, vì tôi không biết về công cụ chính xác của bạn.

+0

Xin lỗi nếu câu hỏi của tôi không rõ ràng. Tôi có một bản dựng cho mỗi lần commit (được kích hoạt bởi một cái móc). Tôi muốn lấy số bản dựng đã được kích hoạt bởi cam kết X. – herm

+0

Đó là trong đoạn thứ hai. Nhìn vào biến 'BUILD_NUMBER'. –

+0

Cảm ơn bạn đã nhập. Thật không may nó không phải là những gì tôi yêu cầu. Tôi không muốn kích hoạt quá trình xây dựng trên phiên bản của đường dẫn xây dựng (đường dẫn groovy được chia sẻ) có thể đã thay đổi và không tương thích với jenkinsfile và cũng sẽ có các hiệu ứng khác (triển khai) mà tôi không muốn bận tâm . Tôi thực sự chỉ muốn tìm hiểu jenkins xây dựng (từ lịch sử) là một trong đó liệt kê các cam kết có nhãn trong tóm tắt của nó – herm

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