Skip to content

Commit 336b47b

Browse files
committed
docs(TeamCity): Adding TeamCity module docs and example architecture
1 parent b8cabb0 commit 336b47b

File tree

5 files changed

+305
-0
lines changed

5 files changed

+305
-0
lines changed

docs/media/diagrams/teamcity-server-architecture.drawio

Lines changed: 259 additions & 0 deletions
Large diffs are not rendered by default.
Loading
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
---
2+
title: TeamCity Example
3+
description: TeamCity Deployment Example
4+
---
5+
6+
# TeamCity Deployment Example
7+
8+
This example provisions [TeamCity](https://www.jetbrains.com/teamcity/) and several AWS resources, such as VPC and DNS resources, more details below.
9+
10+
## Variables
11+
12+
This example takes in one input variables:`root_domain_name`.
13+
14+
### `root_domain_name`
15+
16+
The `root_domain_name` is expected to correspond to an existing [AWS Route53 hosted zone](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/route-53-concepts.html#route-53-concepts-hosted-zone). This hosted zone is used for provisioning DNS records used for external and internal routing, and enables this example to create validated SSL certificates on your behalf.
17+
18+
If you do not have a domain yet you can [register one through Route53](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/domain-register.html#domain-register-procedure-section).
19+
20+
If you already have a domain with a different domain registrar you can leverage Route53 for DNS services. [Please review the documentation for migrating to Route53 as your DNS provider.](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/MigratingDNS.html)
21+
22+
If you own the domain: "example.com" this example will deploy TeamCity to "teamcity.example.com" - this can be modified from the `dns.tf` file.
23+
24+
25+
## Deployment
26+
27+
This example provisions the TeamCity module into a new VPC freshly deployed resources from the module. A TeamCity server is deployed using an Amazon Elastic Container Service (ECS) service. The server will have an attached Elastic File System (EFS), which acts as a shared, persistent data store. The module also deploys an Amazon Aurora Serverless V2 Postgresql Cluster.
28+
29+
To deploy this example please initialize the project with `terraform init`. Deployment is then as simple as `terraform apply`.

docs/modules/teamcity/teamcity.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
---
2+
title: TeamCity
3+
description: TeamCity Terraform module for game development on AWS
4+
---
5+
6+
# TeamCity Server
7+
8+
[Jump to Terraform docs](./terraform-docs.md){ .md-button .md-button--primary }
9+
10+
[TeamCity](https://www.jetbrains.com/teamcity/) is a user-friendly continuous integration (CI) server for developers and build engineers created by JetBrains. This module deploys a TeamCity server on [AWS Elastic Container Service](https://aws.amazon.com/ecs/).
11+
12+
The TeamCity server relies on shared file system for persistent storage of configuration, build results, and current operation files as well as a SQL database to store build history, user data, build results, and runtime data. This module provides these services by provisioning an [Amazon Elastic File System](https://aws.amazon.com/efs/) and an [Amazon Amazon Aurora Serverless V2](https://aws.amazon.com/rds/aurora/serverless/) cluster running the PostgreSQL engine.
13+
14+
## Deployment Architecture
15+
![TeamCity Module Architecture](../../media/images/teamcity-server-architecture.png)
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# Terraform Module Docs
2+
--8<-- "modules/teamcity/README.md"

0 commit comments

Comments
 (0)