How to use Redmine with large projects

Added by Anton Wiedermann over 5 years ago

Hi,
I was trying to setup Redmine for our product but whatever I did, it did not make me happy... Can someone advise please?

In short we have project that has several separate applications in it. these have separate repositories and teams that work on them. every application is supported in (say) 5 versions (codestreams/branches) in parallel because customers can not upgrade as we release. Bugs are fixed to multiple codestreams based on requirements. Some fixes are across multiple applications. More detailed description is at the bottom of this post

Now problems I face are
- how do I have something fixed that spans across multiple applications
- how do I track fact that something was fixed in applications A1 and A2 in codestream C1 and then also in A2 in codestream C2.

Here is example: When I fix something fix will go to following apps/versions:
- BackOffice 1.2.3.45, FrontEnd 1.2.3.62 - note that this is hotfix for one codestream 1.2.3 but apps are on different patches
- FrontEnd 1.3.5.12 - here hotfix to BackOffice was not acceptable due to restrictions presented by customer
- BackOffice 1.4.0.11, FrontEnd 1.4.0.11, Interface 1.4.0.21 - this is froward fit of the same version in latest codestream - hotfix is not required here as it is still in development and we were able to make some advanced changes to architecture to avoid future problems

Any help is greatly appreciated

Thanks
Tono

Here are some details

Project has name MLC (my large project). There are 3 products in it. BackOffice, Interface, FrontEnd.
- BackOffice serves for new entries to be entered, reports generated, and all the stuff that is done in the company headquarters. It has bot client and server side along with DB
- Integration integrates BackOffice with FrontEnd and other systems (project has many more apps so separate Integration is not overkill). MLC is very modular so customers can pick different parts of it base don their needs
- FrontEnd is shown to people who act on events from BackOffice. It has it's own client app, several server side apps and DB schema

Now to make things fun we have following major versions maintained in parallel: 1.2.3.x[y], 1.2.4.x[y], 1.3.4.x[y], 1.3.5.x[y], 1.4.0.x[y]. Versions a.b.c.x mean following (a.b.c identifies separate codestream = branch in repository)
- a - nothing really
- b - increments with some really major changes where backward compatibility is extremely difficult
- c - periodically customers request changes so that project meets their business needs better. This is increased with such development about once a year
- x - patch release when customers report bugs we fix them on monthly basis
- y - usually [1] but when there is hotfix required for some patch release this gets incremented

Replies (7)

RE: How to use Redmine with large projects - Added by Billy T over 5 years ago

I would like to say u may need a CI server, like Jenkins, to do the merging.
Set up repositories independently, and create relations using issues.
Redmine + Jenkins + testcase management == PERFECT
I am sooo looking forward to seeing testcase management features in Redmine!!!!

RE: How to use Redmine with large projects - Added by Anton Wiedermann over 5 years ago

Billy T wrote:

I would like to say u may need a CI server, like Jenkins, to do the merging.
Set up repositories independently, and create relations using issues.
Redmine + Jenkins + testcase management == PERFECT
I am sooo looking forward to seeing testcase management features in Redmine!!!!

Hi, thanks for reply. I have Jenkins running but since not all fixes go everywhere it is not possible to merge automatically (even though it definitely is interesting idea :) ). We have single repository but branch for every codestream. My question above aims at how to track this in Redmine because I do not see way how to track fixes across applications and versions (there is single target version)

RE: How to use Redmine with large projects - Added by Anton Wiedermann over 5 years ago

Terence Mill wrote:

You can merge autoamtically feature branches .. etc..

https://wiki.jenkins-ci.org/display/JENKINS/Subversion+Merge+Plugin

thanks for the link, interesting stuff but our code streams are so far apart that in most cases automated merge is not possible. Even if it was, I would like to have the change indicated and tested in all code streams where it was made.

As I said earlier, my question aims more at tracking applications and their respective versions where the fix for issue was made. That is we do not have single target version

RE: How to use Redmine with large projects - Added by Florian ROBERT over 5 years ago

Hello,

What we have if that can help you:
  • one back office with trunk, release and several branch
  • one front office with trunk, release and several branch

Issues come from the front office they are copied to the back office manualy, a link is created (a plugin can help making this automatic)
There is one issue for all the commits (trunk, release, branches)
The issue can be change into the back office after the copy

We check the status of the back office issues regarding the front office issues through a birt report.

The update of the status is done manualy.

Regards.

RE: How to use Redmine with large projects - Added by Terence Mill over 5 years ago

Keny 31 wrote:

Hello,

What we have if that can help you:
  • one back office with trunk, release and several branch
  • one front office with trunk, release and several branch

Are this tow separate web servers with the same database or 4 server (2 web servers and two databases) or is it all one redmine server having two projects (front and back office)

Issues come from the front office they are copied to the back office manualy, a link is created (a plugin can help making this automatic)

Where can we get this plugin? Can you publish it? How do you copy the issues between instances and when (event or manually)? How does the plugin link issues and keep track of status? How are worflows synced between this issues? What happens to linkled ressources like version, category? Are they coped too and how?

There is one issue for all the commits (trunk, release, branches)

Means that you switched scm cross references on?

The issue can be change into the back office after the copy

Copy on same redmine instance?

We check the status of the back office issues regarding the front office issues through a birt report.

What does birt report? How did you integrate birt and redmine? How do you publisch reports?

The update of the status is done manualy.

Regards.

RE: How to use Redmine with large projects - Added by Florian ROBERT over 5 years ago

Terence Mill wrote:

Keny 31 wrote:

Hello,

What we have if that can help you:
  • one back office with trunk, release and several branch
  • one front office with trunk, release and several branch

Are this tow separate web servers with the same database or 4 server (2 web servers and two databases) or is it all one redmine server having two projects (front and back office)

Same server for the front and back office, they are only in separate project

Issues come from the front office they are copied to the back office manualy, a link is created (a plugin can help making this automatic)

Where can we get this plugin? Can you publish it? How do you copy the issues between instances and when (event or manually)?

One the same instance no problem of copy

How does the plugin link issues and keep track of status? How are worflows synced between this issues? What happens to linkled ressources like version, category? Are they coped too and how?
This is manual

There is one issue for all the commits (trunk, release, branches)

Means that you switched scm cross references on?

Means that on one issue there is several scm revision link

The issue can be change into the back office after the copy

Copy on same redmine instance?

Yes

We check the status of the back office issues regarding the front office issues through a birt report.

What does birt report? How did you integrate birt and redmine? How do you publisch reports?

You can check what birt report does on internet, it can connect directly to a redmine mysql database. The reports are published directly on the server (deposit of a rptdesign file)

The update of the status is done manualy.

Regards.

(1-7/7)