Typically, production is running a Tiki stable branch, periodically updated with human supervision.
Below are typical operations for the other environments.
We want a GUI (with permissions on various actions) for various operations. So for example, an end user can create a clone within Tiki without needing help from a sysadmin or developer.
Environments
Staging
Staging is very similar to production. Basically a clone of production with some extra data, configuration and/or code we want to test before we use in production
- Clone production
- Update to tip of branch
- End user can check if a bug is already fixed and just needs an update
- Apply merge request(s)
- Git bisect
- Update to tip of branch
- Compare with production
- Useful to check what will be lost if we reclone
Next
This is a clone and upgrade to Tiki trunk. So a great way to test/develop in coordination with Tiki upstream.
- Clone and upgrade production
- End user can check if a bug is already fixed and just needs a backport
- Apply merge request(s)
- Git bisect
- Update to tip of branch
- Compare with production (This could be tricky because of version change)
Ad hoc
These are Tiki instances set up for a specific, short-lived purpose. Ex.:
- Clone production and apply merge request #628
- Clone production to a branch (ex. tiki-bootstrap5 branch)