Skip to content

Repositories and CI/CD

Repositories

The repository is hosted on GitHub: https://github.com/TISAGroup/umpire-api

CI/CD

CircleCI is used for deployments, allowing manual deployment to different environments. To gain access to CircleCI projects, users must log in using their GitHub account. If a user has repository access on GitHub, they will automatically have access to it in CircleCI as well.

Each job responsible for deployment follows the same steps but is executed in different environments.

Deployment Process - run-test: This job runs tests and RuboCop. - build-api: This job builds the API image. - build-sidekiq: This job builds the Sidekiq image. - deploy-api: This job deploys the API image to Kubernetes. - deploy-sidekiq: This job deploys the Sidekiq image to Kubernetes. - run-migration: This job runs database migrations if required. - restart: This job restarts the application after migrations.

These jobs are executed in the following order:

flowchart LR
  id1(HOLD) --> id2(tests)
  id2(tests) --> id3(build-sidekiq)
  id2(tests) --> id4(build-api)
  id3(build-sidekiq) --> id5(deploy-sidekiq)
  id4(build-api) --> id6(deploy-api)
  id5(deploy-sidekiq) --> id7(run-migration)
  id6(deploy-api) --> id7(run-migration)
  id7(run-migration) --> id8(restart)

Each environment has a separate deployment process. A full list of environments can be found in the Environments section.