What's the best way to manage dependencies between versions of separate components? -


I ran into this problem in my old job, and now at my present time, which means that I have a lot of bad Luck is or is not known about some equipment or organizational system that can solve this problem.

In both cases, the end product was comprised of several independent components, each of which informed their neighbors through a consensual interface. The problem is that after time, the interface will change, and then the related components should also be updated so that everything can work.

This is not a problem. The problem is that while trying to get back into SCM history, bug tracking makes it extremely difficult because at some point, the components that you are attempting to debug will not be compatible with other parts of the system and their Do not test against

Take the following example:

  1. We say that we have a client / server product, and for simplicity, both a full-time job Let's start Ji We will call these versions Client-1.0 and Server-1.0.
  2. After some time, both Bugfix and FEATURES are made. Now we are at customer 1.7 and server 1.2.
  3. Now the interface changes to the server, so the client must also change: Server-2.0 and Client 1.8.
  4. Now with a customer version 1.9, a bug has been found, and we want to test the previous versions to see that it has stopped working with the server. However, if we go back to the previous 1.8, then the server should also be returned.

I can simplify the example scenario, but the question is what is the best way: what versions of the client and the server are compatible with each other?

I did this through documentation, but inevitably, the human nature will be victorious and anyone can forget to update them for their or other constituents. I also have matching versions (ie, when Server 2.0 hits, the client is promoted too), but the problem is that the client may have other component dependencies that are unrelated to the server, so it It does not make sense to update your versions of the board.

Something has been sorted out to solve this problem. Does anyone have any suggestions, or starting points for my research?

You enter an

meta label (label referenced by another label) )

This can be done either:

  • Your SCM (for example, via meta data in SVN)
  • or any external By registering the list of all the labels currently through the database, testing and validation has been done as "working together" (that list has been also history).

The historicality of that meta label enables you to be able to debug a system to be able to get you back to the previous relevant group of labels.

Whatever solutions you choose, do not forget that, once distributed in the production environment:

  • You do not have your SCM in that production environment
  • So you should rely on a text file that you have deployed the exact label.

The text file shawl is automatically generated when you create the delivery package (set the files, which you will deploy to the output)

< / Html>

Comments