x

Search in
Sort by:

Question Status:

Search help

  • Simple searches use one or more words. Separate the words with spaces (cat dog) to search cat,dog or both. Separate the words with plus signs (cat +dog) to search for items that may contain cat but must contain dog.
  • You can further refine your search on the search results page, where you can search by keywords, author, topic. These can be combined with each other. Examples
    • cat dog --matches anything with cat,dog or both
    • cat +dog --searches for cat +dog where dog is a mandatory term
    • cat -dog -- searches for cat excluding any result containing dog
    • [cats] —will restrict your search to results with topic named "cats"
    • [cats] [dogs] —will restrict your search to results with both topics, "cats", and "dogs"

Concurrent Jenkins game builds on one machine - best practices?

Hello!

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:

    1. Pull engine source into jenkins job. 2. Also pull game code into same job. 3. Build both. (I have read that this might cause long unnecessary rebuilds of the engine even when it hasn't changed.)

  • Or: 1. Pull engine source into jenkins job. 2. Also pull game code into same job. 3. Build a local installed build for that job's platform target. 3. Build game using that local installed build.

  • Or: 1. Pull engine source into its own jenkins job. Build an installed build that contains all target platforms we need. 2. Pull game code into its own jenkins job. 3. Let jenkins copy the built artifact from the engine job into the game job. 4. Build game using copied engine.

Thank you for any pointers or ideas! :)

Product Version: UE 4.17
Tags:
more ▼

asked Feb 19 '18 at 10:43 AM in Packaging & Deployment

avatar image

IMFjarlar
1 1

(comments are locked)
10|2000 characters needed characters left
Viewable by all users

0 answers: sort voted first
Be the first one to answer this question
toggle preview:

Up to 5 attachments (including images) can be used with a maximum of 5.2 MB each and 5.2 MB total.

Follow this question

Once you sign in you will be able to subscribe for any updates here

Answers to this question