You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by Nathan Smith <na...@labpro2000.com> on 2005/05/26 23:30:17 UTC

OT: Software release process

Hi all,
 
I was wondering if someone could give me some insight into how their release
process works.
 
We are a small company with three Java developers working on a web based
application. Our release or even the development process needs to change to
make doing full or patch releases a lot easier and trouble free, with 100%
certainty that the code we are releasing works, no new bugs have been
introduced, and the correct versions of the files are in the release.
 
We currently have a system called CallUs for notifying us of bugs, problems,
and enhancements. Each Call has unique number much like the way Bugzilla
works. We can raise calls internally or our clients can by accessing our
site and logging in.
 
Each developer is allocated a call and development takes place. We have to
decide based on priority which calls are going into the next release. We are
at the moment having to do releases each week to keep one of our clients up
to date with bug fixes.
 
Once development is finished on the call the files are committed to CVS
containing a message something like this, "CALL_1000 Changes made". The call
is then assigned to our only QA tester. At different times of the day a
build is carried out using the files in CVS and then deployed to the Web
Server containing Tomcat. The QA system needs to be accessed externally as
the QA person lives in another part of the country.
 
At the end of the week when all calls have been finished a release build is
carried out using files from CVS repository. The Version and Build numbers
incremented. Might get tested on a Demo system before notifying clients of
release. All appropriate documentation is prepared and files are put on the
Web Server ready for download.
 
Another step that we going to try and do is only checkout those files that
are associated with each call. This can be done as their is a script that
runs in the background on the CVS Server that finds all files with a message
containing the same call number. Once found those files are all tagged with
that call number. If using the above message the files would then be tagged
with CALL_1000. This has a problem, in that files maybe checked out in the
wrong order overwriting changes that should have been merged into the file.
 
A problem arises when a call is QA rejected and that call is not finished by
the time a release has to be done. Should the files be backed out of the
repository?
 
What steps can we take to be able to carry out a Release build from the
repository any time and be 100% certain that it will build and work?
 
Our unit testing or JUnit testing is pretty much nill. A lot of our work
surrounds accessing a database, we need to able to easily write unit tests
for to make sure we getting the correct data back. The application is also
web based, which poses another problem.
 
I would really be interested in how other developers carry out there release
process and whether they have addressed any of these problems. Any
information would be greatly appreciated and sorry about the length.
 
Cheers.
 
 

Nathan Smith 
Software Developer 
LabPro 2000 Limited 
Phone: +64 4 586 6840
Facsimile: +64 4 586 6841
 <ma...@labpro2000.com> nathan@labpro2000.com 
 <http://www.labpro2000.com/> www.labpro2000.com 

Level 6, Riverside Tower on Daly, 15 Daly Street 
Lower Hutt, New Zealand 
 

Re: OT: Software release process

Posted by Patrick Thomas <ps...@gmail.com>.
On 5/26/05, Nathan Smith <na...@labpro2000.com> wrote:
> ... trouble free, with 100%
> certainty that the code we are releasing works, no new bugs have been
> introduced, and  ...

Wow... if you figure out how to do that, make sure you write a book.
I'll be wanting a copy. ;)

~PST

---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-user-help@jakarta.apache.org