I would also like to hear if you have used CI and what challenges and successes you may have had doing so.
Main Topics
Browse All TopicsI am working with someone at my company who uses the terms to descibe some of the changes we both want to make to our development process. But I want to learn lots about it before I start to recommend changes.
Could you tell me what you know about it and what tings you have had experience with?
thanks,
newbieweb
This Question has been solved and asker verified All Experts Exchange premium technology solutions are available to subscription members.
Experts Exchange has been collecting answers to technology questions since 1996…3 million and counting! If you have a question, chances are we already have your answer.
If you can't find the exact answer you're looking for, ask our exclusive community of 50,000 experts. You’ll get a personalized answer from a trusted professional.
Thousands of free tech tips, tricks, how-to’s and tutorials are available in our peer reviewed articles section. See for yourself how smart our experts are, no login required.
Access the answers to your technology questions today.
30-day free trial. Register in 60 seconds.
Members of the expert community talk about why the experience at Experts Exchange is different than what you will find anywhere else.

Try it out and discover for yourself.
30-day free trial. Register in 60 seconds.
Join the community of experts here and help other tech pros by answering question in your area of expertise. You can earn FREE access to all Experts Exchange's premium features and resources.
A quick xmas day answer:
I like the concept, but...
I work for a very small software company and we have developed one product to support several clients.
We do daily builds and upgrade clients to the new releases as needed.
I would say the concept of CI is good, but it doesn't solve everything. "there is no silver bullet".
What I do find good is CI for the development phrase. Even with only two developers, using a good source control system (svn) and a way to release and publish versions nightly (nant) can create a far more controlled dev environment.
As a time saver it can be great.
But I worked on projects almost 10 years ago that did a nightly build. That's nothing new, and seems to be a stretch to say a nightly build is continuous integration.
> it is preferred that changes are integrated rather than multiple versions of the software that are maintained simultaneously
I work for a company in the medical field, where there are countless FDA requirements. And what they do here is counter to CI: they require that any change whatsoever gets a new branch that needs to be merged back into the trunk once the changes have been proven to work. This requires so much updating of each individual branch and so much developer effort, with so many parallel branches being maintained. It is simply wasted time, I think.
I am interested in learning about the kind of threshold CI would have for changes, where a new branch would be the correct solution.
Thanks,
newbieweb
Continuous Integration, to me, only makes sense when you have multiple developers working on different pieces of a large application that has a lot of moving parts. You would have source control, like SVN, TFS, VSS, etc., and something like CruiseControl.NET that would continuously monitor for changes and build when changes are checked in. What can be cool is to have a system that will build the complete application, and mail build errors to the person that checked the bad code in. Another cool part is to have delays so that you don't have a lot of noise from check-ins and builds (something like a 10 minute delay before building after code is checked in).
CI is like a form of interative development or integration development. This means that there may be several individuals on a project team and each has their own responsible for certain pieces of a component. So for, instance if an DLL is comprised of 3 different classes and there is a 3 person project team for the DLL each developer has 1 class. Each developer may finish bits and pieces and they can have it submitted for a build to occur at the developer level. There is integration into a code repository like VSS, CVS, VM, etc. The IDE can perform a build at the developer environment which integrates the other changes that the other 2 developers have checked into the code repository.
Miesters from OpenMake.com is a great mechanism and has IDE toolbars or plug-ins to handle the JIT builds.
What are some of the issues?
1) instablity
- What one of the other 2 developers are working on or checked in may not completely function.
2) quality
- This is probably the biggest issue and correlates to #1. If the CI of the other components are not developed completely then the end result of the DLL that is the deliverable by the project team is sub-par and not of good quality. This will have down-stream impacts on the ultimate or larger deliverable. Some of the issues may be found in a system test type of environment and can have significant ramifications.
Business Accounts
Answer for Membership
by: TheLearnedOnePosted on 2008-12-21 at 10:53:24ID: 23222711
Are you looking for a definition,
ki/Continu ous_Integr ation
http://en.wikipedia.org/wi
<Quote> the convention is that the system should be buildable from a fresh checkout and not require additional dependencies. Extreme Programming advocate Martin Fowler also mentions that where branching is supported by tools, its use should be minimised. Instead, it is preferred that changes are integrated rather than creating multiple versions of the software that are maintained simultaneously. The mainline (or trunk) should be the place for the working version of the software.</Quote>
anecdotal references, systems, ...?