This set of Templates provide all the components to deploy a single Gerrit master in ECS
Two templates are provided in this example:
cf-cluster
: define the ECS cluster and the networking stackcf-service
: defined the service stack running Gerritcf-dns-route
: defined the DNS routing for the serviceerror_log
is exported in a Log Group in CloudWatchYou can find on GerritForge's YouTube Channel a step-by-step guide on how to setup you Gerrit Code Review in AWS.
However, keep reading this guide for a more exhaustive explanation.
The setup.env.template
is an example of setup file for the creation of the stacks.
Before creating the stacks, create a setup.env
in the Makefile
directory and correctly set the value of the environment variables.
This is the list of available parameters:
DOCKER_REGISTRY_URI
: Mandatory. URI of the Docker registry. See the prerequisites section for more details.SSL_CERTIFICATE_ARN
: Mandatory. ARN of the SSL Certificate.CLUSTER_STACK_NAME
: Optional. Name of the cluster stack. gerrit-cluster
by default.SERVICE_STACK_NAME
: Optional. Name of the service stack. gerrit-service
by default.DNS_ROUTING_STACK_NAME
: Optional. Name of the DNS routing stack. gerrit-dns-routing
by default.HOSTED_ZONE_NAME
: Optional. Name of the hosted zone. mycompany.com
by default.SUBDOMAIN
: Optional. Name of the sub domain. gerrit-master-demo
by default.gerrit_secret
by default.GERRIT_RAM
: RAM allocated (MiB) to the Gerrit container. 70000
by default.GERRIT_CPU
: vCPU units allocated to the Gerrit container. 10240
by default.GERRIT_HEAP_LIMIT
: Maximum heap size of the Java process running Gerrit, in bytes. See Gerrit documentation 35g
by default.JGIT_CACHE_SIZE
: Maximum number of bytes to load and cache in memory from pack files. See Gerrit documentation for more details. 12g
by default.Follow the steps described in the Prerequisites section
make create-all
NOTE: the creation of the cluster needs an EC2 key pair are useful when you need to connect to the EC2 instances for troubleshooting purposes. The key pair is automatically generated and store them in a pem
file on the current directory. To use when ssh-ing into your instances as follow: ssh -i cluster-keys.pem ec2-user@<ec2_instance_ip>
make delete-all
You Gerrit instance will be available at this URL: http://<HOSTED_ZONE_NAME>.<SUBDOMAIN>
.
The available ports are 8080
for HTTP and 29418
for SSH.
If you need to setup some external services (maybe for testing purposes, such as SMTP or LDAP), you can follow the instructions here
Refer to the Docker section for information on how to setup docker or how to publish images