I’m working on a build that will undeploy and deploy war files to tc Server utilizing the Hyperic scripting client. Basically it’s just a bat file that accepts varies args to manage tc server.
My undeploy task currently looks like:
task undeploy (type: Exec) {
workingDir ‘D:\ci_wars’
executable “cmd”
args “/d”, “D:\ProgramFiles\springsource-tcserver-scripting-client\bin\tcsadmin.bat”, “undeploy-application”, “–host=hyperic”, “–user=jenkins”, “–password=jenkinsPw”, “–secure=True”, “–groupname=tc-test”, “–application=MyApp” }
In the console I see the following for this task:
09:14:12.773 [DEBUG] [org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter] Executing actions for task ‘:undeploy’. 09:14:12.773 [INFO] [org.gradle.process.internal.DefaultExecHandle] Starting process ‘command ‘cmd’’. Working directory: D:\ci_wars Command: cmd /d D:\ProgramFiles\springsource-tcserver-scripting-client\bin\tcsadmin.bat undeploy-application --host=hyperic --user=jenkins --password=jenkinsPw --secure=True --groupname=esp-tst --application=MyApp … 09:14:12.789 [DEBUG] [org.gradle.process.internal.DefaultExecHandle] Changing state to: STARTING 09:14:12.789 [DEBUG] [org.gradle.process.internal.DefaultExecHandle] Waiting until process started: command ‘cmd’. 09:14:12.820 [INFO] [org.gradle.process.internal.ProcessParentingInitializer] An attempt to initialize for well behaving parent process finished. 09:14:12.820 [DEBUG] [org.gradle.process.internal.DefaultExecHandle] Changing state to: STARTED 09:14:12.820 [DEBUG] [org.gradle.process.internal.ExecHandleRunner] waiting until streams are handled… 09:14:12.820 [INFO] [org.gradle.process.internal.DefaultExecHandle] Successfully started process ‘command ‘cmd’’ 09:14:12.836 [QUIET] [system.out] Microsoft Windows [Version 6.1.7601] 09:14:12.836 [QUIET] [system.out] Copyright © 2009 Microsoft Corporation. All rights reserved. 09:14:12.836 [QUIET] [system.out]
09:14:12.836 [QUIET] [system.out] D:\ci_wars> 09:14:12.836 [DEBUG] [org.gradle.process.internal.DefaultExecHandle] Changing state to: SUCCEEDED 09:14:12.836 [DEBUG] [org.gradle.process.internal.DefaultExecHandle] Process ‘command ‘cmd’’ finished with exit value 0 (state: SUCCEEDED) 09:14:12.836 [DEBUG] [org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter] Finished executing task ‘:undeploy’
After the above runs, when I check the deployed apps in the Hyperic UI, “MyApp” is still there. But if I copy the full command (as shown towards the top of the log above) and paste that into a cmd window (this is running on Windows server) it runs fine, removing the war as expected and showing the output “Command undeploy-application executed successfully”. I’m guessing there’s an issue with the syntax of my executable task, but I’ve tried every permutation I can think of to no avail. Any help would be much appreciated!