Jenkins and Toad

Hello,

Has anyone tried to run Toad apps from Jenkins?

We are working on a CI solution and wanted to utilize Toad’s Schema compare options to compare and extract and schema diff script. For that we wanted to use Toad command line to run an app that would generate the diff “SQL” script.

We are using the below command to achieve it from command line:

Toad -a “appname | c:\path\schemacompare.ini”

When running the same command from jenkins Windows batch script job, it fails.

Upon investigation, it appears that when jenkins calls toad, it receives the call and briefly appears in the taskmanager and crashes immediately. The windows eventviewer logs an AppCrash event but does not have any relevant details for debugging. We have turned on the debug flag in the toad.ini file, but the jenkins call does not generate the toaddebug.txt file, while just running it at command prompt does.

Please help. We have done extensive googling of the issue and did not come across any Jenkins and Toad integration discussions anywhere.

Are you saving the Compare as a job in the Application Designer? I have seen Jenkins work just fine when calling a file from the Application Designer. I will also pass this on to the Toad PM who I have worked with on this feature to get some clarification.

Mark

Mark, thanks for the reply. Yes, we have created it as an app in automation designer and saved it as an app.

Interestingly, we created a Windows scheduler task for the app and are able to call the app using schtasks /run without problems. I am not sure how that works and not a straight call to toad.exe

We performed another test to call just toad.exe from jenkins and that had the same effect. It would show in task manager very briefly and then dies. We also put the call in a batch file and call it from Jenkins, with the same issue too.

So, essentially the only way we are able to run Toad from Jenkins is via Windows task scheduler.

Windows scheduler requires user/passwords so that it can set up the environment correctly (for example, to find the correct folder under c:\users). Does Jenkins do that? Sounds like maybe that is what’s missing. I’m just guessing - I’ve never run Jenkins.

It could be a matter of permissions. What does the console output of the jenkins project have when you try to run it? In a quick test, I tried to run a batch file with my app and Jenkins showed me:

Started by user anonymous
Building in workspace C:\Program Files (x86)\Jenkins\jobs\test toad\workspace
[workspace] $ cmd /c call C:\Windows\TEMP\hudson8576841008402612019.bat

I then changed the service to log in as the same user I normally log in as and it worked correctly. I found some info here:

http://stackoverflow.com/questions/27413261/run-batch-file-as-administrator-on-jenkins