# Continuous Integration & Deployment

Date: 2018-10-18

# Scope

Every project in this repo that we need to deploy

# Context

We have many applications built in this repo that we need to deploy. We need an automated system to do this without human errors.

# Decision

Use Codeship as a CI solution. It has a permission system more sofisticated than CircleCI that fits our needs.

All CI scripts are located in .ci folder at the root of this repo.

Codeship stores only the environemnt variables and secrets strictly related to deployment such as Netlify's IDs and tokens, Prisma session key, Github Token, etc. Business related secrets are store in a private Github repository and fetched during deploy.

# Monorepo

Since this is a monorepo, all the apps are built and deployed one after another. This can be modified in Codeship UI by commenting out lines. For quick fixes, for example, we can remove all the apps except the one we need to deploy quickly.

# Manual deployments

It is possible to deploy manually from a local machine by using the scripts in .ci directory. See .ci/README.md for more information.

Last updated: 8/29/2019, 6:49:22 AM