2009-11-24 26 views
76

Chúng tôi có một số máy xây dựng, mỗi máy chạy một tác nhân xây dựng TeamCity duy nhất. Mỗi máy rất mạnh, và chúng tôi muốn chạy nhiều tác nhân xây dựng trên cùng một máy.Chạy nhiều Đại lý của TeamCity trên cùng một máy tính?

Điều này có thể, mà không sử dụng ảo hóa? Có những lựa chọn thay thế chất lượng cho TeamCity hỗ trợ điều này không?

Trả lời

118

Có, it's possible:

Một số tác nhân có thể được cài đặt trên cùng một máy. Chúng hoạt động như các tác nhân riêng biệt và TeamCity làm việc với chúng như các tác nhân khác nhau, không sử dụng thực tế là chúng chia sẻ cùng một máy. Sau khi cài đặt một đại lý bạn có thể cài đặt thêm một, cung cấp các điều kiện sau đây được đáp ứng:

  • mà đại lý được cài đặt trong thư mục riêng biệt
  • họ có công việc và tạm thời thư mục đặc biệt
  • buildAgent.properties được cấu hình để có các giá trị khác nhau cho tên và thuộc tính ownPort

Đảm bảo không có cấu hình xây dựng có thư mục thanh toán tuyệt đối được chỉ định (cách khác, hãy đảm bảo cấu hình xây dựng này ns có tùy chọn "thanh toán sạch" được bật và chúng không thể chạy song song).

Trong Windows, để cài đặt các đại lý khác như các dịch vụ, sửa đổi [đại lý dir] \ launcher \ conf \ wrapper.conf để thay đổi các thuộc tính có tên riêng biệt trong máy tính:

  • wrapper. console.title
  • wrapper.ntservice.name
  • wrapper.ntservice.displayname
  • wrapper.ntservice.description
+1

Thanks, điều này làm việc khá dễ dàng đối với tôi. – Alexis

+0

Chỉ cần một nhận xét, nhưng hãy nhớ rằng có rất ít lợi ích khi làm điều này nếu máy đại lý của bạn không có tài nguyên cần thiết. Ví dụ, một máy ảo một lõi sẽ không hoạt động thông qua một hàng đợi xây dựng với ba tác nhân nhanh hơn nhiều so với một máy ảo. –

+11

Nếu bạn đã đi và cài đặt tác nhân của bạn mà không biết ở trên (như tôi đã làm), hãy chạy "service.uninstall.bat" trên Đại lý Xây dựng đã cài đặt trong thư mục/bin, sau đó thực hiện câu trả lời ở trên cho mỗi tác nhân. Sau đó, chạy "service.start.bat" trên mỗi tác nhân. – Brandon

28

Bạn cũng có thể xem xét bài viết trên blog này cho Step-by-step hướng dẫn

http://handcraftsman.wordpress.com/2010/07/20/multiple-teamcity-build-agents-on-one-server/

+1

Tìm thấy bài đăng này hữu ích nhất ... thanks –

+0

Tôi vui mừng bài đăng trên blog này đã giúp một số người. Tuy nhiên, theo các hướng dẫn trong nó đã hủy hoại dịch vụ hiện tại của tôi. Ngay cả sau khi gỡ cài đặt hoàn toàn cả hai dịch vụ, xóa hai thư mục và chỉ cài đặt lại dịch vụ gốc, nó vẫn sẽ không chạy một số công việc đã hoạt động tốt trước khi tôi bắt đầu tất cả điều này. Tôi rất khuyên bạn nên giải pháp từ câu trả lời được bình chọn hàng đầu. – sirdank

1

Câu trả lời đầu là phương pháp chính xác, nhưng nếu bạn muốn hoàn thành này một cách dễ dàng hơn, bạn có thể sử dụng TeamCityAgent Chocolatey package và cung cấp tên tác nhân, thư mục tác nhân và cổng là --params và nó sẽ xử lý việc thiết lập các tệp cấu hình cũng như kéo phiên bản Java yêu cầu qua gói server-jre.

Thông báo trước một vấn đề này là bạn cần phải sử dụng --force trên bất kỳ cài đặt sau khi người đại diện đầu tiên như Chocolatey hiện không hiểu cài đặt ứng dụng tương tự với một cấu hình khác nhau như một cài đặt "mới".

Bạn cũng sẽ cần phải sử dụng --version 2.0.1-beta-05 vì điều này vẫn đang trong giai đoạn thử nghiệm, nhưng sẽ sớm ra mắt thử nghiệm.

Full cài đặt ví dụ cho một đại lý thứ hai: choco install teamcityagent --force -y --params 'serverUrl=http://teamcity.local:8111 agentName=AgentUno agentDir=C:\buildAgentUno ownPort=9091' --version 2.0.1-beta-05

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