2013-01-23 18 views
7

Tôi có một dòng lệnh 'kịch bản tùy chỉnh' xây dựng bước liên quan đến robocopy. Thật không may khi robocopy thành công, nó trả về exit code 1 thay vì code exit phổ biến hơn 0. Khi nó thực hiện điều này, nó không cấu hình teamcity build của tôi.Làm thế nào tôi có thể cho phép một bước xây dựng dòng lệnh teamcity vượt qua nếu mã thoát không phải là số không?

Làm cách nào tôi có thể yêu cầu teamcity không thành công nếu mã thoát! = 1 cho bước xây dựng này? Điều này có thể được thực hiện? Điều gì về chỉnh sửa project-config.xml bằng cách nào đó?

+3

http://superuser.com/questions/280425/getting-robocopy-to-return-a-proper-exit-code –

+0

thats một ý tưởng tốt. Tôi nên thử điều đó trước. –

Trả lời

14

Có hai cách:

  1. Trong đó cấu hình xây dựng, đi đến bước điều kiện xây dựng Failure. Tìm tiêu đề Không xây dựng nếu:. Hộp kiểm đầu tiên là "xây dựng mã thoát khỏi quá trình không phải là số không". Hãy chắc chắn rằng sucker không được kiểm tra.

  2. Khi bạn chạy robocopy, kiểm tra kết quả của cuộc gọi đến robocopy. Bạn có thể rõ ràng exit 0 từ bên trong tập lệnh nếu robocopy hoạt động hoặc làm điều gì đó khác. Điều này là cần thiết nếu bạn không thực hiện việc xây dựng theo các điều kiện khác (ví dụ: trước tiên thoát 1 nếu thư mục nguồn không tồn tại, sau đó chạy robocopy, sau đó gửi thư nếu robocopy thành công).

+2

Tôi không thể đi # 1, bởi vì tôi đang tính toán mã thoát không phải là một loạt các bước khác. Những gì tôi đã làm được thông qua việc xây dựng nếu robocopy trả về 0, 1 hoặc 2 và thất bại nó nếu nó trở lại cao hơn bằng cách sử dụng một vài dòng logic sau cuộc gọi robocopy. Tôi đã chết mệt mỏi, tôi không nghĩ về giải pháp đơn giản đó: ( –

+1

SO tiết kiệm ass của tôi khi bộ não của tôi không hoạt động, mà dường như thường xuyên. –

2

Bước tập lệnh tùy chỉnh thành phố nhóm không thành công nếu lệnh cuối cùng không thành công, tức là có mã thoát khác. Do đó, bạn có thể thêm lệnh bổ sung luôn thành công sau lệnh RoboCopy.

Ví dụ:

robocopy ... 
echo "robocopy done. this will make the build step succeed always" 
Các vấn đề liên quan