Author Topic: Access EA DBMS from Jenkins Build Job  (Read 13229 times)

Glassboy

  • EA Practitioner
  • ***
  • Posts: 1367
  • Karma: +112/-75
    • View Profile
Re: Access EA DBMS from Jenkins Build Job
« Reply #15 on: March 19, 2019, 07:21:26 am »
Jenkins is running under local system account.

Local system is not a user account.
Yeah, that's for sure. And?

And if you keep doing something the wrong way, you are not going to get the result you want.  The Local System account is for the Local System.  It's scope is Local and its context is for the Operating System.

Create a service account, give it the rights and capabilities it needs and run your [user] software in a user context.

Eve

  • EA Administrator
  • EA Guru
  • *****
  • Posts: 8030
  • Karma: +118/-20
    • View Profile
Re: Access EA DBMS from Jenkins Build Job
« Reply #16 on: March 19, 2019, 09:39:36 am »
Why does EA require a physical logged on user account if I pass the DB credentials via EA API (OpenFile2 instead of OpenFile) and disabled all UI dialogs?
First reason that comes to mind is "NT Authenticated security". Not saying that is the reason, just one example.

Glassboy's suggestion is reasonable. At least you can control what's going on when you do that.

Glassboy

  • EA Practitioner
  • ***
  • Posts: 1367
  • Karma: +112/-75
    • View Profile
Re: Access EA DBMS from Jenkins Build Job
« Reply #17 on: March 19, 2019, 11:54:11 am »
First reason that comes to mind is "NT Authenticated security". Not saying that is the reason, just one example.

It also does not have any profile on the local computer and generally applications like to do things like write to %appdata%.  From memory COM and DCOM are also problematic.

siaccarino

  • EA User
  • **
  • Posts: 29
  • Karma: +0/-1
    • View Profile
Re: Access EA DBMS from Jenkins Build Job
« Reply #18 on: August 21, 2020, 12:14:07 am »
now its 2020, I use Windows Server 2019 now and this problem re-occurs
  • I can start EA interop manually in system context, everything is fine
  • I can start EA interop via Jenkins in system context, and it starts but it hangs in OpenFile and OpenFile2
By the way - it does not matter if I use system context or user context.
So EA obviously accesses keyboard/mouse input or UI output which was completely vanished in Win2019 (session 0 isolation) for services even if I explicitly allow Jenkins the interaction with the desktop.
This is the only difference between both use cases. BTW: https://kb.firedaemon.com/support/solutions/articles/4000106824 explains the technical background...

So the game starts again: how to use automation of EA in an highly automated build environment?


The ProCloud Server is not an option - it provides much more and much different functionality than required, I simply want to extract html out of the model.

Does anybody have an idea?

Uffe

  • EA Practitioner
  • ***
  • Posts: 1859
  • Karma: +133/-14
  • Flutes: 1; Clarinets: 1; Saxes: 5 and counting
    • View Profile
Re: Access EA DBMS from Jenkins Build Job
« Reply #19 on: August 21, 2020, 01:26:21 am »
Hello,

I haven't tried this myself, but the Pro Cloud Server actually includes a version of the EA client which appears to be able to run in headless mode.
That might be worth exploring, although it isn't an advertised feature so not likely to be supported even if it does work (which is by no means certain).

HTH,


/Uffe
My theories are always correct, just apply them to the right reality.

Eve

  • EA Administrator
  • EA Guru
  • *****
  • Posts: 8030
  • Karma: +118/-20
    • View Profile
Re: Access EA DBMS from Jenkins Build Job
« Reply #20 on: August 21, 2020, 09:00:28 am »
So the game starts again: how to use automation of EA in an highly automated build environment?
My understanding is that using the EA automation interface from within a build system that could be initiated by multiple users is a violation of the EA license agreement. (But my area is the technical issues)

Stefan Kühnen

  • EA Novice
  • *
  • Posts: 2
  • Karma: +1/-0
    • View Profile
Re: Access EA DBMS from Jenkins Build Job
« Reply #21 on: May 19, 2021, 09:37:10 pm »
Pro Cloud Server actually includes a version of the EA client which appears to be able to run in headless mode.
That might be worth exploring, although it isn't an advertised feature so not likely to be supported even if it does work (which is by no means certain).
I have also tried all hints and all I found is no longer possible. I'm to run our (internal) document generation software as a Jenkins job. A last try will be given to connect to Jenkins from a user session, which of course will have a proper context and should not be a problem from licensing perspective. Recoding the whole model access layer to use pro cloud server currently is not an option as the API seems to be completely different from object model perspective.

@Uffe: Where did you find this information on the headless version of EA client, can you post a link to it?

Any help would be greatly appreciated.
Stefan