Skip to content

Deployment Process

This chapter describes the process of deploying an ApplicationInstance.

Prerequisites

Before an ApplicationInstance can be deployed, you must first create a Deployment Configuration. This ensures you have a DeploymentEnvironment with Fleets and Regions. Hosts (bare metal servers in your account or VMs) onto which ApplicationInstances are deployed will automatically become part of a region based on their geographical location.

Here is a schematic overview of the resulting structure:

Figure 1: Deployment (environment) structure with ApplicationInstances

Manual deployments

ApplicationInstances will normally be deployed dynamically and automatically by the platform. You can however deploy them manually as well, e.g. if you just want to test a build.

Manually deploying new ApplicationInstances is a two-step process:

Creating the instance entity

The first step into deploying a new ApplicationInstance is to create an entity for it. From that moment on it exists in our system (but is not yet deployed):

POST /v3/applicationInstance/fleet/{fleetId}/host/{hostId}

JSON request data ApplicationInstance:

{
  "labelPublic": [
    {
      "key": "string",
      "value": "string"
    }
  ],
  "metadata": [
    {
      "key": "string",
      "value": "string"
    }
  ]
}

Parameter fleetId can be obtained from GET /fleet
Parameter hostId can be obtained from GET /host

labelPublic usage explained
metadata usage explained

Deploying a software build

With the entity created, you can now deploy an ApplicationBuild for it:

POST /v3/applicationInstance/{applicationInstanceId}/deploy

JSON request data:

{
  "applicationBuildId": {applicationBuildId}
}

Parameter applicationInstanceId is the ID of the previously created ApplicationInstance.
Parameter applicationBuildId can be obtained from GET /applicationBuild

This call will trigger the deployment process for the ApplicationInstance.

Automatic deployments

ApplicationInstances are normally deployed automatically by the platform. This would at least be the case for the live environment of your game. For this to happen, all you have to do is enable automatic deployment and / or automatic scaling in the Fleet(s) created for your live environment. Please see the Fleet's Operational Status documentation.

For the complete documentation on automatic deployment and scaling, please see the Automatic Deployment chapter.

The deployment process

Below is a schematic overview of the (automatic) deployment process for an ApplicationInstance:

Figure 2: ApplicationInstance deployment process

The default installPath and instancesPath on Linux are:

  • installPath: /home/gameinstalls
  • instancesPath: /home/gameinstances

The default installPath and instancesPath on Windows are:

  • installPath: C:\localuser\gameinstalls
  • instancesPath: C:\localuser\gameinstances