Question

Using a continuous integration on my project, I need to checkout the code from latest sprint from BAZAAR as bzr://path/to/myproject/sprint/123

As this path is changing repeatedly (for each sprint), I'm currently using externals to create a bzr://path/to/myproject/current pointing to bzr://path/to/myproject/sprint/123.
So, I just need to change the externals to redirect the continuous integration tool to the latest project.

Is there another way to do this ?
What I don't want is to change the configuration of my project inside the continuous integration tool (CruiseControl.NET).

Was it helpful?

Solution

One option (might not be suitable for your teams' processes) would be to stop using a separate "sprint" location in bzr for each iteration's changes. Instead, just use a "trunk" (or perhaps your "current" above). If you are usually in a situation where you have multiple sprints having changes at the same time, then this would probably not be appropriate.

OTHER TIPS

I suppose you can use a lightweight checkout.

bzr checkout --lightweight bzr://path/to/myproject/iterations/123 bzr://path/to/myproject/current

You can then use bzr switch to switch to the next branch (I'm not sure if it will work over the network):

bzr switch -d bzr://path/to/myproject/current bzr://path/to/myproject/iterations/124

After searching the web, I've found some articles about this question.

There are two solutions so far:

  1. Automatically detect newly finished branch and build them. There is an example here using CC.NET. It is so applicable to my iterations.
  2. Another way is to provide scripts to developer that execute most of the CI tool. This is not perfect, but this may detect issues before merging in the trunk.

Other references:
Best branching strategy when doing continuous integration?

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top