brainCloud supports a deployment feature for automatically pushing (or copying) the configuration of a source app onto a target app within the same brainCloud server cluster. This is commonly used to push apps from Dev -> Test -> QA -> Prod.
The deployment feature cannot copy an app between separate clusters, however. If the licensee has multiple clusters - a more manual procedure must be employed.
This document describes the procedures for creating a copy of an app in a separate cluster.
---
Process Overview
The process is as follows:
Step 1 - Create a new target app in the target cluster
Step 2 - Export the source app configuration from the source cluster
Step 3 - Import the configuration data into the target app
Step 4 - Customize any properties that are unique to this app instance
Step 5 - Update the game client configuration & rebuild
Once the initial copy of the app has been created, it can be updated again in the future by repeating steps 2 and 3.
---
Step 1 - Create a new app in the target cluster
First, you must create a new app in the target cluster. To do so:
Log in to the Design Portal of the target cluster
Choose a team
Create an app
The configuration of this app will be overwritten by the import.
Note - if the source app has parent/child relationships and/or peer services, these must be configured prior to the import in step 3.
---
Step 2 - Export the source app configuration from the source cluster
We will use the Admin screens to export the configuration:
Log in to the source cluster Design Portal.
Choose a team, and navigate to the source app
Choose Design | Core App Info | Admin Tools
Export the app's metadata to a file. Choose Configuration Data, [Export]
Note that the metadata exported above will include Un-owned, migratable Custom Entities.
Export the app's legacy files. Choose Custom Files, [Export]
If your app uses the new V3 Global Files service, you must create an Export archive from the Design | Custom Config | Global Files screen:
If you want to export Global Entities, you must do so via the Monitor | Global Monitoring | Global Entities screen. Export the entities in the Raw JSON Object File format.
---
Step 3 - Import the configuration data into the target app
Likewise, we will use the Admin screens to import the configuration:
Log in to the target cluster Design Portal.
Choose a team, and navigate to the target app
Choose Design | Core App Info | Admin Tools
Import the app's metadata. Choose Configuration Data, [Import]
Note - the first time you import the configuration, you probably want to disable all the safeguards - to get all parts of the configuration.
In subsequent imports you would probably left the default settings. This allows the app to have some integration settings that custom to this instance.
Import the app's legacy files. Choose Custom Files, [Import]
If your app uses the new V3 Global Files service, you must Import the archive via the Design | Custom Config | Global Files screen:
If you want to import Global Entities, you must do so via the Monitor | Global Monitoring | Global Entities screen. Import the entities in the Raw JSON Object File format.
---
Step 4 - Customize any properties that are unique to this app instance
There are use cases where it makes sense to customize the properties of individual app configurations - keeping Dev separate from QC, etc.
Data that may need to be customized includes:
Integration settings
Global Properties
etc.
---
Step 5 - Update the game client
Finally, you need to update the game client with the appropriate information for the target app:
appId
- the App ID field from the Design | Core App Info | Application IDs screensecretKey
- the App Secret field from the Design | Core App info | Application IDs screenserverURL
- the URL for the cluster's API servers. It is normally found by replacing the "portal" from the portal URL with "api".