2009-04-28 34 views
34

Có ai đã định cấu hình thành công Teamcity để giám sát, trích xuất và xây dựng từ GitHub không?Làm thế nào: Teamcity + GitHub

Tôi dường như không biết cách định cấu hình khóa SSH cho Teamcity ở đâu và như thế nào. Tôi có Teamcity hoạt động như một dịch vụ hệ thống, dưới một tài khoản hệ thống. Vậy Teamcity stash cấu hình SSH của nó ở đâu?

EDIT

Để có được điều này để làm việc, tôi cần thiết để ngăn chặn các tác nhân từ chạy dưới tài khoản hệ thống.

Trả lời

27

Ok ... Tôi có này để bắt đầu làm việc trên máy chủ Windows của tôi. Dưới đây là các bước tôi đã để cấu hình TeamCity 4.5 Professional:

  1. Downloaded các JetBrains Git VCS Plugin
  2. sao chép file zip tải về .BuildServer\plugins
  3. Trong Quản trị> Sửa Build Configuration> màn hình cấu hình Chỉnh sửa VCS Root, tôi đã chọn "Git (JetBrains)"
  4. nhập Clone Url của tôi từ trang dự án GitHub
  5. Set cho phương pháp xác thực "Mặc định Private Key" - đây là QUAN tRỌNG
    1. TeamCity BuildAgent sẽ chạy dưới dạng người dùng chuẩn, với cài đặt SSH được định cấu hình đúng cho người dùng đó.
    2. Thực hiện theo các GitHub SSH directions for SSH configuration
  6. Để trống tên người dùng. Điều này đã được cung cấp trong URL của bạn GitHub clone
+0

Bạn đã bao giờ có nó để làm việc với TeamCity 5.0 – azamsharp

+0

Tôi đã làm việc này với TeamCity 5.1.2 bằng cách sử dụng Private Key Authentication. Người dùng mà Tác nhân xây dựng đang chạy dưới dạng có khóa cá nhân trong thư mục chính của nó. Xác thực không hoạt động cho đến khi tôi để trống tên người dùng. Tôi nghĩ rằng tôi sẽ phải xác định nó bởi vì URL clone của tôi thuộc về một người dùng khác, nhưng tôi cho rằng nó đang sử dụng người dùng mà Build Agent đang chạy. –

+9

Hãy lưu ý rằng điều này không hoạt động nếu bạn đang sử dụng các khóa SSH được tạo trong PuttyGen - chúng tôi đã bỏ ra khá nhiều thời gian, trước khi tạo lại khóa bằng ssh-keygen trong GitBash, sau đó làm việc ngay lập tức. – dwynne

0

Bạn có thể cần một plugin của bên thứ ba như this

+12

Đối với người đọc trong tương lai, plugin đó không còn được dùng nữa khi JetBrains đã tạo một phiên bản chính thức để hỗ trợ git được giao trong TeamCity. –

1

cho khóa cá nhân, tên người dùng phải để trống.

7

Tôi nhận "Khóa riêng mặc định" để làm việc với các tác nhân đang chạy với tư cách là người dùng SYSTEM trên Windows. Đối với tôi, câu trả lời đã có các tập tin nhận dạng ở

C:\Windows\SysWOW64\config\systemprofile\.ssh\id_rsa

thay vì ở

C:\Windows\System32\config\systemprofile\.ssh\id_rsa

+0

Điều này dường như đã là vấn đề gốc tôi đã có quá. –

+0

Đây là một. Điều này được sắp xếp cho tôi với TeamCity 9: D – JSancho

0

(Đây là một cập nhật câu trả lời cho một câu hỏi cũ)

tôi đã xây dựng ssh dựa trên làm việc với github/gitlab và teamcity 7 như thế này:

Đăng nhập vào teamcity máy và sử dụng puttygen/ssh-keygen để tạo cặp khóa rsa và lưu khóa mở khóa ở đâu đó hợp lý. (Gotcha - Sử dụng puttygen?Hãy chắc chắn rằng khóa riêng là ở định dạng openssh - PuTTYgen> chuyển đổi> Phím openssh xuất khẩu)

tôi đề nghị bạn lưu các khóa riêng trong

C:\.ssh\id_rsa 

Bây giờ thiết lập "mặc định khóa bí mật" trong TeamCity - tạo ra một tập tin

C:\.ssh\config 

Và trong đó đặt này:

Host * IdentityFile c:\.ssh\id_rsa 

Đăng nhập vào bạn r gitlab/guthub tài khoản và dán vào khóa công khai openssh cho khóa riêng của bạn.

Bây giờ bạn có thể tạo gốc git vcs trong teamcity có thể sử dụng khóa cá nhân mặc định để lấy nguồn của bạn.

4

Câu hỏi của bạn dành riêng cho SSH, nhưng việc sử dụng HTTP trên TLS dễ dàng và nhanh hơn, vì GitHub và TeamCity hiện hỗ trợ xác thực HTTP. Hơn nữa, GitHub cũng hỗ trợ personal api tokens với các quyền hạn chế, bạn có thể định cấu hình theo ý thích của mình hoặc tạo người dùng mới nếu bạn muốn.

Xem hình ảnh bên dưới cài đặt TeamCity của chúng tôi.

Teamcity configuration

0

Tôi không biết tại sao nhưng chọn Default Private Key thất bại đối với tôi.

Sau đó, tôi chọn để Custom Private Key như màn bắn dưới đây: enter image description here

Trường Username có được sản phẩm nào.

Trường Passphrase là mật khẩu của riêng bạn chìa khóa

(Giả sử bạn đã thêm các khóa công khai của khóa bí mật này trong git rồi.)

Hy vọng không ai bị mắc kẹt như tôi!

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