1.Run windows batch command in background using start
pipeline
{
agent {
label 'master'
}
stages{
stage ('windows-nohup')
{
steps
{
bat """set JENKINS_NODE_COOKIE=dontKillMe && start /min COMMAND_TO_RUN """
}
}
}
}
2.Run windows batch command in background with logs in jenkins workspace with batch and powershell
pipeline
{
agent {
label 'master'
}
stages{
stage ('windows-nohup')
{
steps
{
//copy the command to test.bat file
bat """echo COMMAND_TO_RUN REPLACE COMMAND.log > test.bat"""
//replace the REPLACE with append symbol(>)
powershell 'Get-Content test.bat | ForEach-Object { $_ -replace "REPLACE", " > " } | Set-Content test2.bat'
//run the test2.bat in background
bat 'set JENKINS_NODE_COOKIE=dontKillMe && start /min test2.bat ^& exit'
//logs will be available at workspace COMMAND.log
//Example
/*
bat """echo C:\\java8\\bin\\java -jar core.jar --config=test.json REPLACE java.log > test.bat"""
powershell 'Get-Content test.bat | ForEach-Object { $_ -replace "REPLACE", " > " } | Set-Content test2.bat'
bat 'more test2.bat'
bat 'set JENKINS_NODE_COOKIE=dontKillMe && start /min test2.bat ^& exit'
*/
}
}
}
}