web-dev-qa-db-ja.com

JenkinsでPowerShellスクリプトをジョブとして実行する方法

これは簡単な質問のように聞こえますが、オンラインで調べた後、解決できませんでした。基本的に、JenkinsでPowerShellスクリプト(script.ps1など)を実行し、成功/失敗を報告します。

試行1:「Windowsバッチコマンドの実行」として次を実行

powershell -File c:\scripts\script.ps1

これは予想どおりに起動しますが、数秒後に終了します。

試行2:「Windowsバッチコマンドの実行」として次を実行

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

これにより、スクリプト全体が正常に実行されますが、停止することはありません。スクリプトを手動で中止する必要がありました。

22
Danish

まあ、とにかくシェルをラップしている PowerShell プラグインがあります。サーバーでこれを使用し、標準表記でスクリプトを実行します。

powershell -File test001.ps1

それは癖なしで動作します。

28
Łukasz Rżanek

問題は、32ビットバージョンと64ビットバージョンの実行ポリシーを別々に管理するPowerShellにあることがわかりました。チェックアウト http://www.gregorystrike.com/2011/01/27/how-to-tell-if-powershell-is-32-bit-or-64-bit/ 両方を起動してみてください。実行Get-ExecutionPolicy両方で、あなたはそれらが異なることがわかります。

少なくともバージョン1.4では、プラグインは32ビットプロセスを使用することになります。

6
Adam Hewitt