How do you manage the development of an application that is replicated to multiple clients?
My scenario:
One web application and 2 apps (1 for iOS and 1 for Android). For each client the base (master) is reused and specific resources are added that meet their needs. When a resource is of common interest, it is added in the base so that others can enjoy it.
When a new customer arrives:
Create a new branch for all 3 applications, apply your identity and perform the deployment.
My question:
How do you consider the best way to manage this type of project?
- Through branches (as it has been done)
- A new project for each new client
- Other Suggestions
Remembering:
The environment I use is seamlessly integrated (IC) with Jenkins. So how do you manage the build for each of the clients? For each client a build? A build for all variations (all clients)?
Thank you to anyone who can contribute to the clarification of this doubt.