This repository is a collection of CDK applications to help you build and customize game development tools for use with your Amazon Nimble Studio.
The included applications consist of:
- Perforce Helix Core and Perforce Helix Swarm Setup
- Incredibuild Coordinator and Incredibuild Agent Workers Setup
- License Server Setup
- Jenkins Automation Server and Build Node Setup
The architecture for the entire suite of applications deployed within a Nimble Studio is represented below:
This project requires that you have already have an AWS Nimble Studio created, and is designed to work with the network configuration deployed by StudioBuilder.
- Install git
- Install Python
- An AWS account
- AWS CLI
- AWS CLI configured
- AWS CDK
By deploying this project into an AWS account, it will exceed Free Tier. To avoid unnecessary charges, clean up the environment when you finish testing the project.
The majority of the AWS resource cost from these CDK applications will come from the running EC2 instances as depicted in the architecture diagram.
For more information on AWS resource costs and pricing estimations, visit the AWS Pricing page.
First, clone the repository to a local working directory:
git clone https://github.com/aws-samples/nimblestudio-game-development-suite
Navigate into the project directory:
cd nimblestudio-game-development-suite
This project is set up like a standard Python project. The initialization
process also creates a virtualenv within this project, stored under the .venv
directory. To create the virtualenv it assumes that there is a python3
(or python
for Windows) executable in your path with access to the venv
package. If for any reason the automatic creation of the virtualenv fails,
you can create the virtualenv manually.
To manually create a virtualenv on MacOS and Linux:
python3 -m venv .venv
After the init process completes and the virtualenv is created, you can use the following step to activate your virtualenv.
source .venv/bin/activate
If you are a Windows platform, you would activate the virtualenv like this:
.venv\Scripts\activate.bat
Once the virtualenv is activated, you can install the required dependencies.
pip install -r requirements.txt
This repository consists of multiple CDK applications within individual directories. For synthesis and deployment, navigate into the directory for the application you wish to deploy, and follow the README instructions within that folder.
For example, to get started with deploying the Perforce CDK application:
cd nimble_studio_game_development_suite/nimble_studio_perforce_server
The proper deployment order for all applications is as follows:
- nimble_studio_perforce_server
- nimble_studio_build_farm
- nimble_studio_build_pipeline
- nimble_studio_license_server
The cdk destroy
command is the fastest method to clean up resources created by CDK applications. You can run this command within the directory of the application intended to be cleaned up.
A common error that prevents deletion is 'X has dependencies'. If you see this kind of message, read error messages and delete resources manually before running destroy command again. You can also delete stacks in AWS Cloudformation console.
Destroy the CDK applications in the reverse order of deployment to best avoid dependency issues.
See CONTRIBUTING for more information.
This library is licensed under the MIT-0 License. See the LICENSE file.