Skip to content
This repository has been archived by the owner on Sep 15, 2020. It is now read-only.

Latest commit

 

History

History
52 lines (41 loc) · 1.28 KB

ci-cd.md

File metadata and controls

52 lines (41 loc) · 1.28 KB

CI & CD design

Overview

Please note: this document is a WORK IN PROGRESS.

Staging Environment

All pushed branches/PRs will trigger the following workflow:

graph TB
    checkout(checkout branch)
    dev(install & build dev dependencies)
    lint(lint & prettier)
    test{run tests}
    build-images(build images: `api`, `web`)
    prod(install production dependencies)
    deploy-staging(push `web` & `api` images to registry)
    hold{verify staging deployments are correct}

    subgraph build-test-deploy-to-staging
    checkout --> dev
    dev --> lint
    lint --> prod
    prod --> test
    test --> build-images
    build-images --> deploy-staging
    deploy-staging --> hold
    end
Loading

Production Environment

The following workflow is triggered when pull requests are merged into master:

graph TB
    hold{verify staging deployments are correct}
    merge-to-master(merge PR branch into `master`)
    deploy-master(deploy to `now` using bash scripts)

    subgraph release-and-deploy-to-prod
    hold --> merge-to-master
    merge-to-master --> deploy-master
    end
Loading