2013-09-06 30 views
10

Nhóm của chúng tôi đang chuyển từ CVS sang Git. Chúng tôi dự định sử dụng luồng công việc tương tự như hầu hết các dự án mã nguồn mở trên GitHub - mỗi nhà phát triển lấy một nhánh của repo chính và sau đó gửi yêu cầu kéo cho phép chủ dự án thực hiện đánh giá mã trước khi hợp nhất các thay đổi vào repo chính.Đẩy thẻ với Nhà xuất bản Jenkins Git - nhiều kho lưu trữ Git (nhánh)

Jenkins cho phép chúng tôi thêm nhiều kho lưu trữ Git (plugin Git chuẩn, không phải trình cắm SCM nhiều). Có lẽ tôi có thể nhập URL cho mỗi repo chia đôi và sau đó Jenkins sẽ kiểm tra tất cả các nhánh mỗi ngã ba để thay đổi. Tôi cung cấp cho mỗi kho lưu trữ một tên, ví dụ như "master", "developer1", "developer2" ...

Chúng tôi muốn gắn thẻ Jenkins cho mỗi bản dựng trên remote/fork thích hợp. Plugin nhà xuất bản Git yêu cầu bạn cung cấp "tên mục tiêu từ xa", nhưng chúng tôi cần Jenkins để có thể tìm ra điều này cho chính nó.

Trả lời

15

Tôi đã tự mình giải quyết vấn đề này.

  • Ở đầu trang cấu hình dự án Jenkins, hãy chọn "Xây dựng này được tham số hóa" và thêm thông số chuỗi "từ xa" với "master" mặc định.
  • Add "Git Nhà xuất bản" là một hành động sau xây dựng, và một khóa "$ BUILD_TAG" và Target tên từ xa = "$ từ xa"
  • Trong xây dựng Triggers, kiểm tra "Kích hoạt được xây dựng từ xa"
  • Chúng tôi tái sử dụng GitLab và dưới menu Settings dự án nào để thêm một "Web hook":

    http://my-jenkins-server.com/job/my-project/buildWithParameters?token=secret&remote=master

Thêm một cái móc web cho mỗi ngã ba, và chắc chắn rằng các tham số "từ xa" khớp với tên kho được cấu hình trong Jenkins.

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