Tôi muốn xây dựng một dự án bằng cách sử dụng hai kho lưu trữ Git. Một trong số chúng chứa mã nguồn, trong khi mã còn lại có các kịch bản xây dựng và triển khai. Vấn đề của tôi là tôi cần phải có một kho lưu trữ để xây dựng và triển khai các phần khác nhau của dự án (dự án lớn, nhiều kho lưu trữ, cùng một kịch bản xây dựng và triển khai), nhưng dường như Jenkins không thể xử lý được điều này (hoặc tôi không biết/không tìm ra cách).Jenkins: Nhiều kho lưu trữ Git cho một dự án
Trả lời
CẬP NHẬT
Nhiều SCM Plugin hiện đang bị phản đối vì vậy người dùng nên chuyển sang Pipeline plugin.
Cũ câu trả lời
Vâng, Jenkins có thể xử lý này. Chỉ cần sử dụng Multiple SCMs
trong Quản lý mã nguồn, thêm các kho lưu trữ của bạn và sau đó chuyển đến phần Nâng cao của mỗi kho lưu trữ. Ở đây bạn cần phải đặt Local subdirectory for repo (optional)
và Unique SCM name (optional)
.
Kho lưu trữ của bạn sẽ được kéo đến thư mục con cục bộ mà bạn đã đặt để bạn có thể tạo chúng theo bất kỳ thứ tự nào bạn muốn.
Cập nhật mỗi câu trả lời của harish
- bạn cần cài đặt Multiple SCMs Plugin để đạt được chức năng này.
Plugin Nhiều SCMs hiện được liệt kê là không dùng nữa. –
Trả lời từ Petr Mensik là đúng nhưng điều này dường như không có sẵn theo mặc định trong Jenkins. Một trong những nhu cầu để cài đặt nhiều SCM plugin để có được tính năng này: https://wiki.jenkins-ci.org/display/JENKINS/Multiple+SCMs+Plugin
Chỉ cần chia sẻ kinh nghiệm của tôi khi giao dịch với nhiều SCM. Nếu bạn muốn thêm nhiều kho lưu trữ git vào bản dựng jenkins của mình, hãy đảm bảo rằng các phiên bản plugin git khác tương thích với plugin Nhiều SCM. Dưới đây là danh sách các plugin với phiên bản mà làm việc cho tôi:
- GitHub Plugin API 1,44
- Jenkins GIT Plugin client 1.6.2
- Jenkins GIT Plugin 2.0.1
- Git server Plugin 1.2
- Nhiều SCMs 0.2
Trước đó tôi nâng cấp lên nhiều SCM 0.3 và tôi không thể thêm bất kỳ repo git nào trong phần đó.
Rgds, Manu
Tôi có cùng một câu hỏi, khi tôi nhìn vào Nhiều SCM câu trả lời tôi nhận thấy Plugin Plugin này ngay bây giờ được liệt kê như phản đối. Có một thông báo khuyên bạn nên sử dụng một đường ống cho việc này.
Dưới đây là cấu hình mẫu về cách tôi quản lý để làm điều này với một đường ống.
node() {
stage ('Extract') {
parallel 'Extract':{
dir('project1') {
git url: 'ssh://[email protected]/project1.git'
}
dir('project2') {
git url: 'ssh://[email protected]/project2.git'
}
}
}
}
Đây phải là câu trả lời được chấp nhận! Bạn đã cứu cuộc đời tôi. – renelopez
Khi bạn thêm một SCM khác qua plugin nhiều SCM và chọn Git. Bạn có thể chỉ định 'Kiểm tra một thư mục con' thông qua tùy chọn 'Hành vi bổ sung' cho một repo. Vì vậy, bạn có thể có nhiều repos trong một không gian làm việc.
Tôi nhận ra đây là câu trả lời cho một câu hỏi cũ, nhưng tôi đã xem qua câu hỏi với cùng một vấn đề và tìm ra giải pháp. – enkor
Điều này rất giống với http://stackoverflow.com/questions/14843696/checkout-multiple-git-repos-into-same-jenkins-workspace –