CruiseControl.NETをセットアップしています。私が抱えている問題は、CCをコンソールアプリケーションとして実行していることです。ビルドが正常に完了し、実行(execを使用)すると、CruiseControl DOSプロンプト内で起動します。単純なバッチファイルを使用してアプリを起動していますが、CCと同じプロンプト内で実行すると、CCはアプリが実行されている限りビルドが続行されると判断します。
別の別のプロンプトウィンドウを生成するcmd.exe
へのコマンドラインパラメーターはありますか?
私はこれがうまくいくと思う:
start cmd.exe
ここに必要なコードがあります;)
start cmd.exe @cmd /k "Command"
コマンドプロンプトでstartと入力するだけです:
start
これにより、新しいcmd
ウィンドウが開きます。
start cmd.exe
別のウィンドウを開きます
start file.cmd
バッチファイルを開き、別のコマンドプロンプトで実行します
START "notepad.exe"
echo Will launch the notepad.exe application
PAUSE
To make any cmd file type all you have to do is save the contents as .bat I.e.
@echo
TITLE example.bat
PAUSE
taskkill/IM cmd.exe
Make that into a "example.bat" file and save it open it and run.
batファイルに簡単に書き込む
@cmd
または
@cmd /k "command1&command2"
コマンドプロンプトから次の3つのコマンドを入力できます。
start
start cmd
start cmd.exe
また、CCNETタスクの最後にデーモンプロセス/サーバーを実行するバッチファイルを実行してみました。 CruiseControlにプロセスの終了を待たずに独立した非同期プロセスを生成させる唯一の方法は次のとおりです。
タスクスケジューラを使用して、CCNETタスクとしてバッチファイルを実行します(schtasks.exeを使用)
schtasks.exe /create /F /SC once /ST 08:50 /TN TaskName /TR "c:/path/to/batchFileName.bat"
ccnetの開始時にプロセスを強制終了する必要がある場合があります
PS:「start cmd.exe」を使用して選択した回答が機能しません。新しいコマンドプロンプトが実際に生成されますが、CCNETは生成されたcmdが完了するまで待機します。