Only the main branch can be deployed.
Currently used for multiple, conflicting purposes:
- Creating new content, prior to transferring it to Production
- Investigating new features, not yet in develop branch
- UAT - testing by the client before deploying
To support this, any branch can be deployed.
New features may include new modules that are not in develop branch. These must be uninstalled manually before another branch is deployed to Preprod.
Used for:
- QA by Nomensa's testers
- CI/CD - merges to develop will trigger a deployment to Dev environment using the Gitlab pipeline.
This is the stable branch, containing the code that has been deployed to Production. Its main purposes are to make it easier to:
- check what is on Production
- create hotfix branches
This is the branch for testing features and bugfixes before being merged to main and deployed to Production.
Pull requests should only be merged to develop if they are ready to be tested and deployed. If it is uncertain whether a new feature is required then it should stay in a feature branch.
We will try to avoid release branches by frequent testing of develop, merging to main and deployment to Production.
New features and bugfixes should be branched off develop and pull requests created back to develop.
Only hotfixes (e.g. for security updates) should be branched off main so they can be deployed to Production ahead of features that are still being tested.
Commit messages should be prefixed with a Jira ticket number so that the purpose of the change can be traced.
Multiple commits in a pull request should be squashed unless the individual commit messages are informative.