2016-09-23 35 views
6

Tôi muốn đặt giá trị 'teamcity.build.branch' động theo kết quả của một phần cấu hình xây dựng TC khác của đường ống xây dựng.Tự động thay đổi 'teamcity.build.branch'

Điều đó có thể thực hiện được không? Có vẻ như giá trị được đánh giá và được sử dụng khi bắt đầu xây dựng đường ống.

Usecase:

  • Tôi đang thực hiện một cấu hình TC xây dựng mà sẽ tạo ra một số duy nhất
  • trong kết nối phần TC xây dựng cấu hình của cùng một đường dẫn Tôi muốn số được sử dụng trong các 'TeamCity .build.branch '- chỉ cho mục đích trực quan

Tôi đã sử dụng dịch vụ nhắn tin để ghi đè tham số, nhưng thay đổi không được tính đến. Có vẻ như giá trị được đọc trong giai đoạn đầu của quá trình xây dựng.

+0

bạn có muốn một xây dựng trên một chi nhánh để gây ra một xây dựng được kích hoạt trên cành giống nhau không? –

+0

Cập nhật usecase – Crazyjavahacking

Trả lời

2

Bạn có thể ghi đè giá trị của tham số bằng cách sử dụng tập lệnh đơn giản phát ra một "set parameter" service message.

Bằng cách sử dụng một thông điệp phục vụ tận tình trong xây dựng kịch bản, bạn có thể tự động cập nhật build thông số của việc xây dựng ngay từ bước xây dựng (...)

Với cách tiếp cận đó, đây là các bước mà bạn cần thực hiện:

Trong cấu hình xây dựng đầu tiên, hãy xác định thông số tạo tùy chỉnh và đặt giá trị của nó thành số duy nhất bạn đang tạo. Làm điều này trực tiếp từ kịch bản mà tạo ra số lượng độc đáo bằng cách viết một cái gì đó như thế này để STDOUT:

##teamcity[setParameter name='magicNumber' value='1234'] 

Trong phụ thuộc xây dựng cấu hình, bây giờ bạn có quyền truy cập vào thông số đó. Sử dụng một xây dựng kịch bản thứ hai, bạn có thể ghi đè lên teamcity.build.branch với cơ chế tương tự:

##teamcity[setParameter name='teamcity.build.branch' value='the new value'] 

Lưu ý 1: Tôi khuyên bạn nên chống ghi đè lên các thông số được xây dựng trong, bởi vì điều này có thể có lạ tác dụng phụ. Thay vào đó, hãy xác định thông số tùy chỉnh trong cấu hình bản dựng thứ hai và sử dụng thông số đó cho mục đích hình dung của bạn.

Lưu ý 2: Trong trường hợp bạn quyết định bỏ qua Lưu ý 1, nó có thể là cần thiết để ghi đè lên các thông số xây dựng bằng cách thiết lập thuộc tính phụ thuộc như đã nêu in the docs trong phần "Overriding Dependencies Properties":

##teamcity[setParameter name='reverse.dep.*.teamcity.build.branch' value='the new value'] 
+0

Tôi đã cập nhật câu hỏi. Tôi đã sửa đổi giá trị bằng cách sử dụng dịch vụ tin nhắn. Tuy nhiên, thay đổi này không được tính đến. – Crazyjavahacking

+0

Tôi đã cập nhật câu trả lời. Nếu có thể, thì cứ như thế. Tôi không chắc chắn 100% rằng nó thực sự là có thể, tuy nhiên. – theDmi

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