why does the RTC scheduled builds run with account "ADMIN"?
Accepted answer
- The operating system user that is used to start the JBE (e.g. as a service or in some init process). This user is the user context that the JBE will use to try to access other files on the harddrive of this or other systems. The JBE process inherits the operating system permissions from this user.
- The technical build user that is passed to the JBE with its ID and password. This user is used by the JBE to connect to the CCM server and the project area, to load the files from the Jazz SCM system, and to communicate results back etc. This user is only used in the communication to the RTC server and has nothing to do with the operating system user. This user does not require any permissions on your machine. It only has a meaning to RTC and requires the RTC permissions to perform the load and communication. It has to be able to access workspaces for private builds.
One other answer
Comments
Hi Ralph, reason why I am asking is because there are scripts which are executed as part of the build. These scripts are placed in share location and when the build runs it has no access to these scripts from the network share. Of course the network shares are not accessible by "Everyone" by governed via access control
Hi Karthik, (comment does not work, so new answer)
as far as I can tell, the build scripts are run from the context of the user that has started the JBE. The user that accesses data in RTC is the user that you pass as parameter when starting the JBE. The user that requests a build is - as far as I can tell - not at all involved in the build and does not pass any credentials to the shell the JBE runs on or to the build script that the JBE actually runs. In fact, if the repository workspace in a private build is not accessible by the build user the build fails.
So I am puzzled why you would see different behavior if different users request the build.
In production, the build scrips would usually reside in a component in Jazz SCM and loaded during the build. If you rely on external information,you have to make sure the user that launches the JBE process (usually in a service) has the permissions to access these build files (shared location). This should be the only place you should have to worry about it.
The best way to verify if this problem is caused by the OS user and its privilege to access share drive is to print out the OS user in your script.
When the same tool is executed as the part of the build, the tool is unable to fetch the license. My assumption is that, since the build is run as build user, the processes created via the build would also be by the build user. But when I print the user, I only see "ADMIN"
Comments
Te-Hsin Shih
Aug 27 '13, 6:59 p.m.Are you talking about that Jazz user or the OS user?
Karthik Krishnan
Aug 28 '13, 9:32 a.m.I guess it's the Jazz user