Tôi có một số tập lệnh PowerShell đơn giản mà tôi đã thực hiện thành tệp thực thi với Bamboo, bằng cách thêm đường dẫn như C:\build-scripts\bamboo-build-scripts\clear-directory.ps1
làm đường dẫn cho tệp thực thi bằng tre. Tuy nhiên, một số tập lệnh, thậm chí là các kịch bản thực thi chính xác trong quá trình xây dựng khi chúng được tạo thành một quá trình "tập lệnh", sẽ thất bại khi chúng được chạy theo cách này, bằng cách đưa mã trả về -1. Dưới đây là ví dụ từ nhật ký dựng:Kịch bản Powershell có thể thực thi cho phép "sai" đưa ra mã trả về -1 trong Bamboo
simple 18-Jun-2015 13:14:06 Failing task since return code of [C:\build-scripts\bamboo-build-scripts\update-checker.ps1 GeometryClassLibrary] was -1 while expected 0
Điều này xảy ra với nhiều tập lệnh PowerShell và làm cho phần còn lại của quá trình xây dựng thất bại.
Dưới đây là một ví dụ PowerShell kịch bản, mà tôi thực hiện bằng cách truyền tham số vào một thư mục:
Remove-Item $args[0] -Force -Recurse
[io.directory]::CreateDirectory($args[0])
Có một cái gì đó tôi cần phải thêm vào kịch bản PowerShell để làm cho nó thoát với mã có đúng không? Hoặc tôi không xác định thực thi đúng cách trong tre?
Hỗ trợ của Bamboo cho PowerShell dường như đã khiến tôi bị hạn chế trong việc sử dụng hạn chế nó như là các tác vụ kịch bản. –
Chúng tôi đã có thành công tương đối tốt khi sử dụng nó trong các tác vụ kịch bản, nhưng khi một số kịch bản của chúng tôi trở nên phức tạp hơn, có vẻ như có ý nghĩa khi chuyển sang một đối số thực thi và chuyển đối số riêng biệt. Đó là nơi mà vấn đề đã phát sinh: các kịch bản đã làm việc tốt trước khi làm nhiệm vụ kịch bản. – Jake
Tôi đã nhìn thấy nó bỏ qua lỗi (ném lỗi được hiển thị trong nhật ký) và tiếp tục trong quá trình thực thi tập lệnh trước đó. Thêm chế độ nghiêm ngặt và thiết lập theo cách thủ công EA đã giúp một chút với điều đó tôi nghĩ mặc dù. –