2

We have a project that has several components developed independently. Yet we have many releases all named as different products with different schedules. We want to get immediate feedback when a component has a new version (probably related with a bug-fix), thus all products depending on that version to be updated as well.

A -> v1.0 (released 10.10.2009)
B -> v1.0 (depending on A, released on 11.10.2009)
A -> v1.1 (released 12.10.2009) ---> B must be updated

Of course this is just a simple example. There should be projects dedicated to this scenario, but I couldn't find. What do you do to handle such situations? What is the preferred (easy, yet powerful) way?

linuxbuild
  • 15,843
  • 6
  • 60
  • 87
Better Not Known
  • 165
  • 1
  • 1
  • 3
  • 1
    What is your programming language? C, C++, Java, C#, VB, ...? – linuxbuild Mar 07 '11 at 12:39
  • There are indeed projects dedicated to this scenario. The language you're developing in while be key factor in choosing a path. Things to google: maven, ivy, nanny, nuget, "dependency management" – thekbb May 21 '11 at 15:35
  • I think the answer depends on what he means by "immediate feedback". If they just want to immediately include it with the builds, a dependency management like maven or ivy is a way to go. However, if this should be just e.g. an e-mail followed by some manual upgrade action + testing, dependency management will help, but would require some more scripting to achieve the goal. – Pavel Aug 01 '12 at 19:42

1 Answers1

0

It highly depends on your projects (components) build setup. I am assuming that you have a repository for each components with an CI, here is a simple solution

  • Use options normally provided by Hudson/Jenkins for checking-out and to build the component (google for hudson/jenkins plugins)
  • Specify dependencies in CI
  • Track for the changes after each check out
  • If X has new code(commits) they update Y. This is very easy in CI (Hundson/Jenkins)

I have used CI for similar scenario. There any many plugins (opensource) for Jenkins to find the code changes, trigger notifications/other builds and build dependencies

amjad
  • 2,876
  • 7
  • 26
  • 43