2012-04-27 24 views
10

Có thể định dạng đầu ra powershell sao cho nó hiển thị như một phần có thể thu gọn trong nhật ký xây dựng TeamCity, chế độ xem dạng cây?Tôi có thể định dạng đầu ra của PowerShell thành Chế độ xem dạng cây có thể thu gọn trong nhật ký TeamCity không?

Vì vậy, ví dụ, xây dựng các bước của tôi sử dụng một Á hậu PowerShell, và đưa ra một

write-host " ################# deployment manifest ############################" 
ls -r -i *.* | %{ $_.FullName } 

mà kết quả đầu ra này:

[15:28:13] ################# deployment manifest ############################ 
[15:28:13]\\10.10.10.49\d$\sites\account.foo.net\v32\Bin 
[15:28:13]\\10.10.10.49\d$\sites\account.foo.net\v32\contact 
[15:28:13]\\10.10.10.49\d$\sites\account.foo.net\v32\Content 
[15:28:13]\\10.10.10.49\d$\sites\account.foo.net\v32\controls 
[15:28:13]\\10.10.10.49\d$\sites\account.foo.net\v32\error 

Tôi muốn rằng đoạn nhật ký được đóng mở trong Chế độ xem dạng cây.

+1

Tiêu chí làm cho nó có thể thu gọn là gì? Tôi biết PowerShell, nhưng tôi không có ý tưởng làm thế nào TeamCity hoạt động trong lĩnh vực đó (cũng không phải tôi có một đầu mối những gì nó thậm chí * là *). – Joey

+0

Bạn có nghĩ đến việc tạo tài liệu html/html5 với đầu ra không? Bạn chỉ có thể bắt đầu ghi máy chủ vào một tài liệu và viết vào đánh dấu của bạn, sau đó thì đấy .. – dc5553

+0

Bạn đang sử dụng phiên bản TeamCity nào? – Bronumski

Trả lời

17

Có, chúng tôi thực hiện điều này với các tập lệnh PowerShell của chúng tôi, bạn cần tải tập lệnh xây dựng của mình lên update Teamcity with the build status. Cụ thể hơn, bạn cần phải report the build progress sẽ thông báo cho Teamcity khi bắt đầu và kết thúc một khối công việc xảy ra. Sau khi xây dựng xong Teamcity sẽ sử dụng thông tin này để tạo các nút trên khung nhìn cây của nhật ký.

Trong PowerShell thực hiện như sau:

write-host "##teamcity[progressStart '<message>']" 

do work 

write-host "##teamcity[progressFinish '<message>']" 

Note Bạn cần phải chắc chắn rằng thông điệp là giống nhau ở điểm bắt đầu và kết thúc thông điệp, các khối có thể được lồng vào nhau. Bạn cũng có thể sử dụng số block message để thay thế. Tôi không biết chính xác sự khác nhau là gì nhưng bạn dường như có được kết quả tương tự:

write-host "##teamcity[blockOpened name='<blockName>']" 

do work 

write-host "##teamcity[blockClosed name='<blockName>']" 
+0

Làm việc với TC 8. Thông điệp từ 'tiến trình Khởi động' chỉ được hiển thị trong trang Tổng quan. Thông điệp từ 'blockOpened' thực sự gây ra việc gấp trong TreeView –

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