2017-01-29 11 views
0

私はpowershellスクリプトを実行するJenkinsジョブを持っています。powershellスクリプトを呼び出して、それが返るのを待ちません。

PowerShellはしばらく時間がかかることができます長いプロセスであり、私は私が

Start-Job -ScriptBlock 

でPowerShellを実行しようとしたジェンキンスさんは、それが

を終了するのを待つためにPowerShellを起動していないしたいしかし、ジェンキンスの仕事が終わると、それはパワーシェルを閉じます。 私は単に昼食にしたいと

+1

FYI:Jenkinsのこのような機能については、https://issues.jenkins-ci.org/browse/JENKINS-26052で議論しています。 PowerShellの場合、具体的には 'start-process -FilePath 'powershell.exe' -ArgumentList '-Command" 1..10000 |%{write-host $ _; Start-Sleep -Seconds 1} "''を使用してスクリプトを置き換えることができます(または '-File'パラメータを使って別のスクリプトファイルを指すようにして)実行したいスクリプトを指定してください。もう1つの回避策のオプションは、Jenkinsを使用してWindowsタスクスケジューラでジョブを作成することです。これにより、タスクを開始できます。 – JohnLBevan

答えて

0

実行にこのような-noexitでPowerShellを起動するコマンドを忘れ:

start powershell -noexit -file "D:\MyToolkit\ToolKit.ps1" 
1

これを行うためのPowerShellの特定の方法が、私はに使用してきたゲットーのソリューションがあるかもしれません

/C Carries out the command specified by string and then terminates

012:過去には、cmd.exeのヘルプから cmd.exe /c start

でスクリプトを呼び出すことです

この方法を使用すると、cmd.exeプロセスが実行され、新しいプロセスでpowershellスクリプトを起動して終了し、powershellスクリプトをバックグラウンドで実行したまま終了します。

関連する問題