2011-11-21 44 views

Trả lời

58

Có, bạn có thể đặt biến môi trường trong một bước xây dựng và sử dụng nó trong bước sau. Bạn sẽ cần sử dụng thông báo dịch vụ trong tập lệnh xây dựng của mình như được mô tả ở đây http://confluence.jetbrains.net/display/TCD65/Build+Script+Interaction+with+TeamCity#BuildScriptInteractionwithTeamCity-AddingorChangingaBuildParameterfromaBuildStep để cập nhật động thông số xây dựng mà bạn có thể sử dụng trong bước tiếp theo. Lưu ý rằng nó sẽ không có sẵn trong bước tạo ra nó, chỉ trong bước tiếp theo.

Lưu ý rằng để đặt biến, nó phải được viết ra bằng cách nào đó (**echo** cho dòng lệnh bash, **write-host** cho Powershell), trong dấu ngoặc kép. Ví dụ:

echo "##teamcity[setParameter name='env.ENV_AAA' value='aaaaaaaaaa']" 

và sử dụng biến ghi này %env.ENV_AAA% trong hộp trong xây dựng các bước tiếp theo (Atleast trong TeamCity 9.1.7))

+2

Maria, cảm ơn bạn cho con trỏ. Tôi đặt thông tin sau trong chương trình ruby ​​được thực hiện bởi bước xây dựng TeamCity của tôi 3 đặt "## teamcity [setParameter name = 'env.USER_DATETIME' value = '# {DateTime.now}']" và tôi đặt sau đây trong chương trình ruby ​​được thực hiện bởi TeamCity của tôi xây dựng bước 4 đặt "... USER_DATETIME = '# {ENV [' USER_DATETIME ']}'" Và nó hoạt động! –

+0

Tôi rất vui vì nó đã giúp =) –

+0

Tôi không thể truy xuất giá trị tham số trong bước tiếp theo mà không cần xác định trước nó trong phần 'Cài đặt cấu hình xây dựng-> Tham số'. Theo tài liệu: https://confluence.jetbrains.com/display/TCD9/Build+Script+Interaction+with+TeamCity (xem "Thêm hoặc thay đổi thông số xây dựng") @MikeJr: Điều này không hiệu quả đối với tôi: 'USER_DATETIME = '# {ENV [' USER_DATETIME ']}'" ' này làm việc:' echo% env.USER_DATETIME% ' phiên bản TeamCity là 9.1.6 (xây dựng 37.459) – antonbormotov

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