How to manage a project with several variations?

Asked

Viewed 144 times

5

How you manage the development of an application that is replicated to multiple customers?

My setting:

An application web and 2 apps (1 for iOS and 1 for Android). For each client the base (master) is reused and specific features are added that meet their needs. When a resource is of common interest, it is added to the base so that others can enjoy it.

When a new customer arrives:

A new branch for the 3 applications, applies its identity and performs the.

My doubt:

How you consider the best way to manage this type of project?

  • Through branches (as has been done)
  • A new project for each new client
  • Other suggestions

Still remembering:

The environment I use is seamlessly integrated (IC) with Jenkins. So, how do I manage the build for each customer? For each client a build? A build for all variations (all customers)?

I thank those who can contribute to the clarification of this doubt.

1 answer

2

I would make a central repository where I would clone the application skeleton and each module would be created separately from the application to be installed through package managers, so it would facilitate the update of each module and already install everything when I clone the central repository (the skeleton).

A repository for each project instead of branches will also make it easier, I use branches for new features instead of definitive branches from the main project, even if you need to create a build process in Jenkins for every new client you have (of course each case is a case, but I found it more practical to build with pure Git and automate tasks with shell script, but what is practical for me may not be for you and vice versa).

Browser other questions tagged

You are not signed in. Login or sign up in order to post.