Tôi đã có Jenkins chạy được khoảng một năm nay. Nó xây dựng các nhánh master, rc * và production. Trên mỗi cam kết, nó thực hiện một bản sao git, thực hiện một gói cài đặt, chạy một di chuyển, vv Nó đã được làm việc hoàn hảo. Gần đây, người ta đã thất bại và tôi nhận được traceback sau:"FATAL: Lỗi tính cơ sở hợp nhất" nghĩa là gì?
FATAL: Error computing merge base
hudson.plugins.git.GitException: Error computing merge base
at hudson.plugins.git.util.GitUtils.filterTipBranches(GitUtils.java:149)
at hudson.plugins.git.util.DefaultBuildChooser.getAdvancedCandidateRevisions(DefaultBuildChooser.java:201)
at hudson.plugins.git.util.DefaultBuildChooser.getCandidateRevisions(DefaultBuildChooser.java:46)
at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:1057)
at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:948)
at hudson.FilePath$FileCallableWrapper.call(FilePath.java:2417)
at hudson.remoting.UserRequest.perform(UserRequest.java:118)
at hudson.remoting.UserRequest.perform(UserRequest.java:48)
at hudson.remoting.Request$2.run(Request.java:326)
at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:679)
Với những sản phẩm sau hiển thị ngay lập tức sau:
Caused by: org.eclipse.jgit.errors.MissingObjectException: Missing commit 2faf546491565d033b1e0a79bef4b2d107447f49
at org.eclipse.jgit.internal.storage.file.WindowCursor.open(WindowCursor.java:149)
at org.eclipse.jgit.revwalk.RevWalk.getCachedBytes(RevWalk.java:853)
at org.eclipse.jgit.revwalk.RevCommit.parseHeaders(RevCommit.java:142)
at org.eclipse.jgit.revwalk.MergeBaseGenerator.next(MergeBaseGenerator.java:148)
at org.eclipse.jgit.revwalk.StartGenerator.next(StartGenerator.java:102)
at org.eclipse.jgit.revwalk.RevWalk.next(RevWalk.java:414)
at hudson.plugins.git.util.GitUtils.filterTipBranches(GitUtils.java:127)
... 14 more
này cam kết lỗi cũng là khó hiểu vì tất cả các chi nhánh bao gồm nó.
Chính xác là gì, "Lỗi tính cơ sở hợp nhất có nghĩa là gì?" và tại sao tôi nhận được thông báo cam kết bị thiếu?
Mọi thông tin chi tiết ở đây sẽ được đánh giá cao.
Cảm ơn.
git fsck:
Checking object directories: 100% (256/256), done.
Checking objects: 100% (3203/3203), done.
Trong cấu hình Jenkins của tôi, git Plugin cấu hình của tôi được thiết lập để:
- Wipe ra không gian làm việc trước khi xây dựng
- Sử dụng nông bản sao
Tôi đang sử dụng Jenkins, ver. 1,528.
Dường như repo địa phương của bạn bị hỏng. Bất kỳ đầu ra lạ nào từ 'git fsck'? Ngoài ra, là điều khiển từ xa của bạn một cách chính xác (xin xác minh bằng tay). Một điều nữa là đặt Jenkins để dọn sạch vùng làm việc trước khi kéo (tức là, để loại bỏ tất cả các thay đổi cục bộ). Đã có một thiết lập cho điều đó trong cấu hình dự án. – rlegendi
bạn nên gắn thẻ này với jenkins imho – mnagel
Bạn đã luôn sử dụng nhân bản nông? Tôi sẽ nghĩ rằng, tùy thuộc vào độ chính xác của một bản sao, tìm cơ sở hợp nhất của hai nhánh (về cơ bản là cam kết gần đây nhất mà cả hai đều có điểm chung, hoặc điểm mà hai nhánh tách ra) có thể khó khăn. Có lẽ bạn đã không bao giờ chạy vào một tình huống trước khi bạn có hai chi nhánh có cơ sở hợp nhất là đủ sâu để có được cắt tỉa bởi các bản sao nông ... – twalberg