Concurrent Jenkins game builds on one machine - best practices?
In short, I’m wondering how you best would go about solving having concurrent game builds running on a single jenkins machine?
Some background: I’m an engineer at a small-ish game studio and we have recently begun looking into Unreal after previously having only worked with our own tech.
As we develop and maintain several game projects for several platforms we have a build server that automate builds using Jenkins.
With Jenkins we run each combination of game, platform, configuration and region as separate and concurrent build jobs.
However, this way of automating builds becomes a problem when we use the Unreal build tools. From what I understand and have experienced, it is not possible to run several processes of the same UBT- and UAT instances without conflicts. When I try this I get errors that conflicting instances are running (as they were executed from the same path), or file io errors in the engine folders.
I ran into this problem as I tried to set up two concurrent game builds (for two different platforms) of our test game project using one instance of a custom “installed build” of Unreal.
Running non-concurrent builds won’t scale great for us when the amount of build jobs increase.
What are the recommendations, experiences and best practices for running several concurrent Unreal game builds on the same machine?
It looks like each job will require its own engine instance (in some way)? What is the recommended way to go in that case?
Some alternatives I thought of so far:
Thank you for any pointers or ideas! :)
asked Feb 19 '18 at 10:43 AM in Packaging & Deployment
Follow this question
Once you sign in you will be able to subscribe for any updates here