2013-09-26 188 views
12

Tôi vừa thiết lập Jenkins và tôi có một số kho lưu trữ trong Stash của tôi. Tôi đã cài đặt "Git plugin" trong jenkins. Tôi hiện có thể nhập url của kho lưu trữ nhưng không có gì để nhập thông tin đăng nhập của tôi.Tôi có thể sử dụng Jenkins với Atlassian Stash như thế nào?

Có thể sử dụng

http://username:[email protected]/xx/yy.git 

nhưng đó là một cái gì đó tôi không muốn làm.

Tôi có thể làm gì khác để xác thực?

Trả lời

6

Thiết lập khóa SSH cho người dùng chạy Jenkins của bạn và thêm nó vào khóa SSH của kho lưu trữ trong Stash. Xem Stash docs để được hướng dẫn.

5

Hai điều cần thêm vào câu trả lời của Gareth.

  1. khi tôi đồng ý rằng việc sử dụng các phím SSH là chắc chắn tốt hơn so với cứng mã hóa tên người dùng/mật khẩu, nó là đáng nói đến là Stash (hiện tại) scales better với HTTP khi nói đến CI. Nếu bạn có một vài bản dựng, chúng tôi thường khuyên bạn nên sử dụng HTTP. Chúng tôi hiện đang mở rộng hỗ trợ bộ nhớ cache Git của chúng tôi để hỗ trợ SSH nên điều này không còn là vấn đề nữa.

  2. Hơi liên quan, bạn có thể quan tâm đến việc xem và bỏ phiếu cho feature sau đây sẽ giúp việc tạo khóa cụ thể của CI trở nên dễ dàng hơn.

Cuối cùng có xây dựng các biểu tượng hiển thị trong Stash bất ngờ tiện dụng, và bạn nên có một cái nhìn tại các plugin sau đây nếu bạn chưa sẵn sàng:

https://github.com/jenkinsci/stashNotifier-plugin

+0

Cũng đáng lưu ý rằng stash hiện ngẫu nhiên thất bại khi vô tính với http (s) nhưng không có giao thức git = ( https://jira.atlassian.com/browse/STASH-6887 – cmyers

8

Tôi là tác giả của Plugin stash này có thể giúp bạn: https://github.com/palantir/stashbot

Chụp chọn lọc từ readme:

Để làm việc với Jenkins, bạn PHẢI cài đặt các plugin jenkins sau đây.

  • Jenkins GIT Plugin
  • bài viết xây dựng nhiệm vụ

Tiếp theo, xây dựng và cài đặt plugin sử dụng SDK plugin (thêm chi tiết trong readme)

Tiếp theo, các quản trị viên stash đi vào trang Quản trị Stashbot và tạo cấu hình máy chủ jenkins - tại đây bạn cung cấp cho nó URL, tên người dùng/mật khẩu, vv chi tiết của máy chủ jenkins.

Tiếp theo, đối với mỗi kho lưu trữ, liên kết "Quản trị viên Stashbot CI" hiển thị cho quản trị viên repo. Từ đó bạn có thể kiểm tra hộp kiểm "đã kích hoạt" và cho bạn biết nhánh nào bạn muốn xây dựng (thông qua regex) và lệnh nào sẽ chạy để thực hiện việc xây dựng (tùy chọn xác minh và xuất bản).

Sau thời điểm này, phần còn lại hoàn toàn tự phục vụ. Bất kỳ quản trị viên repo nào cũng có thể yêu cầu dự án của họ "có CI" bằng cách điền vào biểu mẫu đó và các công việc sẽ tự động được tạo trong máy chủ jenkins.

Hy vọng điều đó sẽ hữu ích.

+1

-1 Vui lòng tóm tắt cách giải quyết vấn đề thực tế của OP. Bao gồm một liên kết là tốt, nhưng các câu trả lời chỉ có liên kết được khuyến khích – tripleee

+1

Cập nhật với các chi tiết từ README. – cmyers

4

Kể từ phiên bản 2.0 của "Plugin Git" cho jenkins, bạn có thể trực tiếp thêm thông tin đăng nhập cần thiết cho cả ssh và tên người dùng/mật khẩu (dựa trên plugin thông tin đăng nhập).

Xem thay đổi của plugin Git: https://wiki.jenkins-ci.org/display/JENKINS/Git+Plugin#GitPlugin-Changelog để biết chi tiết.

Để tích hợp thêm git và stash liên quan đến yêu cầu kéo, bạn cần thêm tiện ích "Stash Webhook for jenkins" trong stash và plugin "Stash Notifier" cho jenkins để kết nối lẫn nhau.