Project organization
🗂️
App, environment, what?
# Intro
The fortrabbit platform has two layers to map web projects:
- App: Git repo, collaboration.
- Environment: Runtime, git branch, code access, components, settings.
# Workflows
There is a main way to set this up and a couple of other possible workflows that are more or less sub-optimal:
# Projects as apps, environments are stages
- App: 'My website project' - Environment 1: 'Main' - live production - Environment 2: 'Dev' - feature development (optional)raw
Use environments as versions of the website. When using git deployment, branches can be mapped to environments. See the multi staging article. Each app requires at least one environment. One app with one environment is also common.
Rating: ✅ ✅ ✅ ✅
# Projects as folders in an environment
- App: 'My agency' - Environment 1: 'Main' - Folders: 'website-1', 'website-2' …raw
Web projects are just folders in a single environment. This might be viable for micro sites, but has some downsides. When routing domains, .htaccess must be used. Resources like the database need to be shared.
Many CMS systems offer multi-site features, which works in a similar way. There are use cases for it, but in general individual installations will work better.
Rating: ❌ ❌ ✅ ✅
# Project parts as environments
- App: 'website-1' - Environment 1: 'frontend' - Environment 2: 'backend'raw
Environments map to parts of a web project. This may work for headless CMS systems, where frontend and backend are separated software.
Rating: ❌ ❌ ✅ ✅
# Projects as environments
- App: 'My agency' - Environment 1: 'website-1' - Environment 2: 'website-2' - Environment 3: 'website-3'raw
Web projects map to environments. This might be viable for tiny micro sites, but is sub-optimal. Resources and settings are shared. Individual web project access in collaboration is not possible.
Rating: ❌ ❌ ❌ ✅
# Projects as apps, stages as folders
- App: 'website-1' - Environment 1: 'Main' - Folders: 'prod', 'staging'raw
In this workflow, environments are ignored, instead stages are mapped as folders in one environment. This may not work as intended.
Rating: ❌ ❌ ❌ ✅
Found a tpyo?Edit