I’m working on a SaaS web project and I’ve run into a complex situation. Two of our clients have requested separate on-premises deployments on their servers. Each client will be asking for different new features specific to their setup. We’re using GitHub for version control and have an established process for bug fixes and feature development for our main SaaS offering.
My question is: What’s the most efficient way to manage bug fixes and new features across our main SaaS version and these two distinct on-premises deployments?
Some additional details:
- We need to keep the main SaaS version and both on-premises versions
in sync where appropriate - Each on-premises version will have its own unique features
- We want to minimize manual work in applying updates across all versions
- Sometimes a feature might be relevant for the SaaS version and one on-premises client, but not the other
- We need to manage branches and deployments for dev, test, and prod environments
for each version (SaaS and two on-premises)
I’ve considered using separate branches for each version, but I’m unsure about the best practices for managing this complex situation. Any advice on tools, workflows, or strategies to handle multiple diverging versions would be greatly appreciated.
Thanks in advance for your help!