2012-05-04 59 views
19

Điều này nghe có vẻ như một câu hỏi đơn giản nhưng tôi đã không thể làm việc nó ra sau khi tìm kiếm trực tuyến. Về cơ bản tôi muốn thực thi một kịch bản PowerShell (ví dụ: script.ps1) trong Jenkins và báo cáo thành công/thất bại.Làm thế nào để chạy một kịch bản PowerShell như một công việc trong Jenkins

Hãy thử 1: Run sau là "Execute Windows Command hàng loạt"

powershell -File c:\scripts\script.ps1 

này khởi động như mong đợi nhưng bỏ sau một vài giây

Hãy thử 2: Run sau là "Execute Lệnh Windows Batch "

powershell -NoExit -File c:\scripts\script.ps1 

Điều này chạy toàn bộ tập lệnh thành công, nhưng ne ver dừng lại. Tôi đã phải hủy bỏ tập lệnh theo cách thủ công

Trả lời

27

Vâng, có một plugin PowerShell, trình bao này vẫn đang gói vỏ. Tôi sử dụng tính năng này trên máy chủ của mình, thực thi các tập lệnh theo ký hiệu chuẩn:

powershell -File test001.ps1 

Nó hoạt động không có bất kỳ quirks nào.

+0

Thật tuyệt, tôi đã thử plugin nhưng không thể chạy plugin để chạy tệp ps1. Nhưng tôi chưa bao giờ thử ký hiệu ở trên. Sẽ thử nó theo cách này, Cảm ơn! – Danish

+2

Tôi đã sử dụng các mục sau: powershell -ExecutionPolicy Unrestricted -File file.ps1 –

+1

Tôi không thể tải plugin hoạt động đúng cách, có thể liên quan đến chính sách thực thi hoặc một cái gì đó. Đã phải quay trở lại dòng comand tiêu chuẩn với powershell.exe -ExecutionPolicy Bypass -NoLogo -KhôngInteractive -NoProfile -WindowStyle Hidden -File script.ps1 – Benoit

5

Tôi phát hiện sự cố đã xảy ra với PowerShell quản lý chính sách thực thi riêng cho các phiên bản 32 bit và 64 bit. Thanh toán http://www.gregorystrike.com/2011/01/27/how-to-tell-if-powershell-is-32-bit-or-64-bit/ để thử khởi chạy cả hai. Chạy Get-ExecutionPolicy trong cả hai và bạn sẽ thấy chúng khác nhau.

Ít nhất với phiên bản 1.4, dường như plugin kết thúc bằng quy trình 32 bit.

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