Deploy setups

A Softadmin® system may have multiple instances of the same system used for different purposes. Each system instance is characterized by it's "DeployLevel", which instances it may deploy changes to (deploy targets) and which instances it may receive changes from (deploy sources). The "DeployLevel" may be Development, Stage, Production.

Variation of the setups below may be used. The deploy setup and development setup should be chosen according to the project needs.

Common setups

Development -> Stage -> Production

The most common setup. The Stage-system usually exists for the ordering party to perform the final testing before pushing to production.

graph TD Development[Development] --> Stage[Stage] Stage --> Production[Production]

Multiple test environments

This setup may be used for many different reasons. Some which might be:

  • Stage-system may have Production-like data, which all testers may not have permission to view.
  • I may make it easier to have a untouched instance (Stage) where critical manual fixes may be tested without other new features (Test).
graph TD Development[Development] --> Test[Test] Test --> Stage[Stage] Stage --> Production[Production]

Development -> Production

This setup is used in very light agile projects, where errors in production are acceptable.

graph TD Development[Development] --> Production[Production]

Multi tenant

This setup is used when the same system is delivered to multiple tenants, which all has their own data that should never be shared.
Example 1.

graph TD Development[Development] --> Stage[Stage] Stage --> Production1[Production 1] Stage --> Production2[Production 2] Stage --> Production3[Production ...]

Example 2.

graph TD Development[Development] --> Stage1[Stage 1] Development[Development] --> Stage2[Stage 2] Stage1 --> Production1[Production 1] Stage2 --> Production2[Production 2]

Non-linear instances

Deployment instances may be configured in a non-linear way. This can be done in multiple ways.

graph TD Development[Development] --> Test[Test] Development --> Stage[Stage] Stage --> Production[Production]

Unsupported setups

Non-linear instances with common targets

While setups like this can be used, it will likely cause problems. Database designer will create script incompatible with these setups. Using variations of these setups are unsupported.

graph TD Development[Development] --> Stage1[Stage 1] Development --> Stage2[Stage 2] Stage1 --> Production[Production] Stage2 --> Production