Skip to content

Staging Environment

Daniel Chiquito edited this page Jun 14, 2021 · 1 revision

This page is about how the staging environment is implemented. See https://github.com/dandi/dandi-api/blob/master/doc/design/staging-1.md for the design document.

Netlify DNS

One of the requirements for production/staging was that production be hosted at api.dandiarchive.org and staging at api-staging.dandiarchive.org (or something similar). Currently (7/21), there is no way to have two domains in Netlify without maintaining two separate sites. Because there are two sites that are both serving from the same repo, the only way to differentiate the two "production" deployments for the two sites is to have a secondary branch that follows master.

Branches

A secondary branch, staging, is added to dandiarchive that is one commit ahead of master. The commit modifies netlify.toml so that the staging NEtlify deployment is pointed at the staging API server. There is a GitHub action that keeps staging rebased on top of master. All work in dandiarchive should still be done on master, the staging branch should be left to keep itself updated.

Clone this wiki locally