AscentialTest Support Hub

Notifications

Clear all

Jenkins and AT – need to run as Service



2

Posts


2

Users


0

Reactions


64

Views

(@jnealb)
New Member

Joined: 8 years ago
Posts: 1

Topic starter
 

Ascential is now fully Jenkins compliant.

From my Zeenyx post:

http://zeenyx.org/phpbb1/viewtopic.php?f=6&t=1404&sid=64662e95e4c0a935f0cae4e7dc478a9a

“If you find that your Jenkins build is running AscentialTest weirdly, one method for integrating Jenkins and AT on Windows correctly comes from the posted thread below and is suggested here:

http://antagonisticpleiotropy.blogspot . … 5T53rjSsRP

Background:

1. Install Jenkins “happy path” and configure the ATRun and AReports command line in your Jenkins Build per the instructions from the New Zealand team (eg the un-altered cmd line with a sync loop for job termination)
2. On the machine under test pre-load the UA_Server
3. Check that one instance of UA_Server is running with your local user credentials by inspecting it with the Taskman, using Details
4. “Build” the Jenkins job on the Jenkins client machine and watch the job progress on the machine under test

Weird Results:

Although your job will likely start it will not run quite right. For example if you specify a TestSet comprised of multiple Plans you may see one of the plans execute twice and the other not at all. Examination of the AscentialTest log file will seem nonsensical relative to what is visible on the screen: the log indicates that all plans executed properly. This is because Jenkins has started up a second instance of UA_server running under the SYSTEM credentials. Both simultaneously running instances of UA_Server get tangled up…Once the Jenkins job terminates the SYSTEM instance of UA_Server terminates. Where exactly the SYSTEM instance ran the “missing” TestSet components is a mystery wrapped in riddle…Any contributions on that finer point are welcome here!

One solution (the New Zealand team has another):

1. Install Jenkins as a service on the Windows machine
// not done in the default Jenkins install, see Jenkins posts for instructions, it is easy to do
2. Configure its Logon to be your local user or any user that you wish
3. Re-start the service and do not modify the Jenkins build configuration in any way
4. Goto Step 2 above

Success:

AscentialTest is now fully Jenkins compliant. Note that Step 2: “Preload UA_Server” is required, and that UA_Server does not preload if Windows is configured to do so (at least not on Win10, I have not tried Win7 yet). Until this is fixed you have to pre-load UA_Server manually. Brian and Dave: please fix this on Win10 (yes, Run as Administrator was checked in the Properties).

Post Mortem:

All interested parties please reply here.

Neal at ADSK”



   

Quote

(@cspargo)
New Member

Joined: 7 years ago
Posts: 1

 

I validated a solution for Jenkins that is a little different. In order for Zeenyx (or UI) to stay open in Jenkins for a build, you need to run it not as a windows service. To do this, you need to
1)Create New Node. Name it Slave and configure the following.
Remote Root Directory: directory path of Jenkins
Launch Method: Launch Agent Via Webstart
Availability: Keep this agent online as much as possible
You can then click on the Slave to get to jnlp paths. You have options to Launch agent from browser or launch from a command line.
This will open a separate java window for the Slave.
2) Set the environment variable to so Jenkins won’t kill any processes.
Go to Manage Jenkins/Configure system.
Check off Environment Variables and add Name: BUILD_ID Value: DoNotKillMe
3) Configure your build to run Zeenyx on a command line.
From here, you can test the build and you should see your automation start up and run as expected. This includes bringing up UA_Server, UA and test runner and then closing UA.
I subsequently configured it with GIT so that any push to a git project would automatically start up and run the zeenyx automation through Jenkins.



   

ReplyQuote

Share:

Can’t Find An Answer in the Forum?

Contact Our Team