2013-07-09 37 views
9

Tôi có một số dự án mà tôi muốn có trong xây dựng cấu hình riêng biệt với hơi cấu hình khác nhau:Làm cách nào để giảm trùng lặp các cấu hình xây dựng tương tự?

  • nguồn VCS và xây dựng trigger (tức là sự khác biệt duy nhất là có thư mục con của thư mục dự án gốc để sử dụng)
  • bước xây dựng (vài đầu tiên là chính xác như nhau, nhưng vài cuối cùng có thể khác nhau tùy thuộc vào cách kiểm tra đơn vị đang được chạy, phụ thuộc, vv)

Vậy là xong. Tôi đã xem xét các mẫu Cấu hình Xây dựng, nhưng có vẻ như không cho phép tính linh hoạt trong việc chỉ định các bước xây dựng tùy chỉnh hoặc các gốc VCS bổ sung. Thực sự tôi chỉ đang tìm cách không phải sao chép thủ công (một số) bước xây dựng từ cấu hình xây dựng dự án ban đầu của chúng tôi thành nhiều cấu hình hơn và phải duy trì chúng khi mọi thứ thay đổi. Có vẻ như có một giải pháp tốt hơn?

+0

Bạn đang sử dụng phiên bản TeamCity nào? [Xây dựng mẫu cấu hình] (http://confluence.jetbrains.com/display/TCD8/Build+Configuration+Template) hoạt động cho tôi. –

+0

@ user1177636 Vâng, tôi nghĩ rằng nó sẽ kết thúc làm việc cho trường hợp của tôi là tốt. Tôi sẽ chỉ cần lộn xộn xung quanh với các thông số một chút. – jwalk

Trả lời

3

Tôi đã tự hỏi điều này là tốt, nhưng các bit tôi đã tìm thấy trực tuyến đề nghị bạn ưu tiên dự phòng thay vì cố gắng sử dụng lại một cấu hình trên nhiều nhánh hoặc dự án của bạn.

Tuy nhiên, tất cả điều đó là trước khi phiên bản 8 đã được phát hành, trong đó giới thiệu khả năng trích xuất một meta-runner

blog của họ from April 13, 2013 cung cấp một bản tóm tắt tốt về những gì họ đang có và làm thế nào chúng khác nhau từ các mẫu.

Meta-Á hậu

Meta Runner là một tính năng mạnh mẽ cung cấp một phương pháp mới đầy hứa hẹn cho việc tùy chỉnh TeamCity và làm cho nó thậm chí có nhiều người theo định hướng. Để hiểu nó, hãy xem xét một ví dụ.

Hãy tưởng tượng bạn có một số tác vụ lặp đi lặp lại được sử dụng lặp đi lặp lại trên các cấu hình xây dựng khác nhau. Nhiệm vụ được định nghĩa là một hoặc nhiều bước xây dựng, dựa trên các trình chạy tích hợp sẵn, như Ant hoặc dòng lệnh. Nhiều khả năng bạn muốn sử dụng lại tác vụ này dễ dàng qua một số cấu hình xây dựng. Bạn không thể làm điều này với các mẫu vì mẫu thực thi bạn chia sẻ cùng một cài đặt trên các cấu hình khác nhau mà không phải lúc nào cũng có thể. Một giải pháp mà chúng tôi đề xuất là trích xuất Meta-runner ra khỏi các bước này, xem cách thức hoạt động trong ghi chú phát hành.

Tôi chưa triển khai điều này, nhưng tôi sẽ sớm thử nghiệm. Nó làm cho tôi nghĩ rằng bạn sẽ có thể vượt qua các kho lưu trữ trong như một tham số, nhưng tôi không chắc chắn.

+0

Cảm ơn bạn đã đề xuất. Tôi đã có thể làm cho nó làm việc với một mẫu sau một chút hackery với các thông số xây dựng, nhưng nếu tôi tìm thấy nó rắc rối hơn nó có giá trị này sẽ là một lựa chọn tốt để thử. – jwalk

+0

Một số ví dụ về meta-runners có sẵn trên GitHub: https://github.com/JetBrains/meta-runner-power-pack –

+0

@Pavel để chia sẻ! – Damon

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