Understanding how Unity CS works can be a little overwhelming and knowing where to start can be tricky. So we have written this step by step guide to help you through onboarding your app with Unity CS.
If, after working through this guide, you are still stuck, please create a discussion topic or email: [email protected]
The envisioned lifecycle of building, testing, and deploying of Unity service components, can be seen in the diagram below:
Getting started with the common build system and containerization.
- Dockerized builds with a common entry point
- Kickoff build
- Storing docker containers
Unit(y) testing your application prior to acceptance and deployment with Unity CS
- Common entry point for unit tests
- Kickoff unit tests
- Dockerized environment for unit testing
- Publishing test results
Information relating to central repositories and sensitive information, secrets and other items that need keeping away from prying eyes.
- Storing sensitive credentials for publishing artifacts
- Specifying a repository to house artifacts/containers
The Unity CS deployment framework can facilitate the deployment of Unity service area components to the cloud.
The main things that service areas need to do, to integrate with the Unity CS deployment framework are as follows:
- Identify what components you need to deploy, and create terraform scripts for them
- Make necessary changes to kubectl config files
- Create an initial terraform metadata file, that identifies basic information about your deployment
- Ensure that you have a proper smoketest script set up
- Invoke the push-button deployment via Github Actions.
Behind the scenes, the Unity CS deployment framework will:
- Copy over core U-CS terraform "support" scripts to your repository (to be co-located with your terraform scripts)
- Perform necessary terraform transformations and required tagging
- Deploy all resources (core supporting resources + your resources) to AWS, using the merged/modified terraform scripts.
Other related documentation:
- Deployment Catalog
- Common Entry Points for Deployment
Testing your application once its deployed. Ensure that the endpoints are accessible and functioning as expected. Also, what to do if it all goes wrong.
- Common entry point for smoke tests
- Kickoff smoke tests
- Initiate rollback in case of failure
How to keep track of your costs and resources within Unity CS.
- Cost monitoring
- Resource monitoring (aws tag based queries)
- Logging (kubernetes, system logs, application monitoring)
\
Removing or rolling back your application within the Unity CS environment.
- Re-deploy previous version OR
- Terraform destroy via push-button OR
- Manually destroying via terraform
If you application requires authentication services please read the following section as they contain import information about the operation of security services within the Unity platform
- Authorization and Authentication