Question

Please describe Continuous Integration (CI) and your experience with it

Asked by: newbieweb

I 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.

Subscribe now for full access to Experts Exchange and get

Instant Access to this Solution

  • Plus...
  • 30 Day FREE access, no risk, no obligation
  • Collaborate with the world's top tech experts
  • Unlimited access to our exclusive solution database
  • Never be left without tech help again

Subscribe Now

Asked On
2008-12-20 at 20:54:13ID24001273
Topics

Continuous Integration

,

.NET

,

MySQL Server

Participating Experts
3
Points
500
Comments
6

Trusted by hundreds of thousands everyday for fast, accurate and reliable tech support.

  • "The time we save is the biggest benefit of Experts Exchange to Warner Bros. What could take multiple guys 2 hours or more each to find is accessed in around 15 minutes on Experts Exchange." Mike Kapnisakis, Warner Bros.
  • "Our team likes having a resource that is more secure than just using Google and most experts using this service really know their stuff. It's nice to look here first versus using Google." Dayna Sellner, Lockheed Martin
  • "Anytime that I've been stumped with a problem, 9 out of 10 times Experts Exchange has either the accepted solution or an open discussion of the potential solution to the problem." Kenny Red, eBay Inc.

See what Experts Exchange can do for you.

Got a question?

We've got the answer.

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.

Screenshot of Experts Exchange Knowledgebase

Need individual assistance?

Our experts are ready to help.

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.

Screenshot of Experts Exchange Knowledgebase

Want to learn from the best?

Read articles from industry experts.

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.

Screenshot of an Article

Working on a long term project?

Store your work and research.

Save solutions to your questions, answers you’ve discovered through searching plus helpful articles in your personal knowledgebase for easy future access.

Screenshot of Experts Exchange Knowledgebase

Access the answers to your technology questions today.

Subscribe Now

30-day free trial. Register in 60 seconds.

What Makes Experts Exchange Unique?

Members of the expert community talk about why the experience at Experts Exchange is different than what you will find anywhere else.

Trusted by the world's most respected brands.

image of each brand's logo

Faithfully serving IT professionals since 1996.

Experts Exchange Logo

Try it out and discover for yourself.

Subscribe Now

30-day free trial. Register in 60 seconds.

Related Solutions

  1. Learning Perl
    Hey guys, As my company is picking up Interwoven, I am looking to learn Perl. I would appreciate any suggestions/guidence/experience/tutorials/links anyone is willing to share with me. Thanks!
  2. VB Book for experience programmer learning VB?
    Hello. I am an experienced programmer with apx. 5 years of C, and 13 years of Pascal. My company has asked me to start learing VB. Sad to say, I do not have any graphical, nor-event driven programming experience. Fortunately, though, I studied C++ a while back so at leas...
  3. Reference Material for learning Business Objects Data Integ…
    As an Oracle analyst/designer/developer I would like to learn how to use the Data Integrator tool provided by Business Objects. If I wanted to learn how to use a new Oracle tool I would simply visit the Oracle Technology Network (http://www.oracle.com/technology/index.html) ...

Free Tech Articles

  1. WARNING: 5 Reasons why you should NEVER fix a computer for free.
    It is in our nature to love the puzzle. We are obsessed. The lot of us. We love puzzles. We love the challenge. We thrive on finding the answer. We hate disarray. It bothers us deep in our soul. W...
  2. SCCM OSD Basic troubleshooting
    SCCM 2007 OSD is a fantastic way to deploy operating systems, however, like most things SCCM issues can sometimes be difficult to resolve due to the sheer volume of logs to sift through and the dispe...
  3. Migrate Small Business Server 2003 to Exchange 2010 and Windows 2008 R2
    This guide is intended to provide step by step instructions on how to migrate from Small Business Server 2003 to Windows 2008 R2 with Exchange 2010. For this migration to work you will need the fo...
  4. Create a Win7 Gadget
    This article shows you how to create a simple "Gadget" -- a sort of mini-application supported by Windows 7 and Vista. Gadgets can be dropped anywhere on the desktop to provide instant information, ...
  5. Outlook continually prompting for username and password
    There have been a lot of questions recently regarding Outlook prompting for a username and password whilst using Exchange 2007. There are a few reasons why this would happen and I will try to cover t...
  6. Backup Exchange 2010 Information Store using Windows Backup
    There seems to be quite a lot of confusion around the ability to backup Exchange 2010 using the built in Windows Backup feature. This stems from the omission of this feature prior to Exchange 2007 s...

Cloud Class Webinars

  1. Avoiding Bugs in Microsoft Access
    Alison Balter takes and in-depth look at avoiding bugs in Access. In this webinar you will learn about using the immediate window to debug your applications, invoking the debugger, using breakpoints to troubleshoot, stepping through code, setting the next statement to execute, ...
  2. Top 10 Best New Features in Visio 2010
    Scott Helmers gives live demonstrations of the top 10 new features in Visio 2010. This webinar will teach you how to create compelling diagrams by adding shapes to the page with a single click, linking the shapes in a diagram to data in Excel (or SQL Server, or SharePoint), ...
  3. IT Consultant Business Secrets Revealed
    Michael Munger, Experts Exchange tech pro and IT consultant, pulls back the curtain on his very successful businesses and answers question on every IT consultant and business owner should know about. He shares secrets on what he did to solve the 5 most common problems in IT, ...
  4. Disaster Recovery and Business Continuity
    Quest CTO, Mike Billon, gives an overview of the steps involved in building a dunamic disaster recovery plan. Through case studies and an examination of software/hardware tooles for monitoring and testing, you'll gain a better understandin of where you are, where you want ...
  5. Organize Your Visio Diagrams with Containers and Lists
    Scott Helmers uses cross functional flowcharts, wireframe diagrams, data graphic legends and seating charts to teach you: how to ustilize all three new structured diagram components in Visio 2010, the best practices for organizeing shapes in previous version of Visio, how to organize ...
  6. How to Us Objects, Properties, Events and Methods in Microsoft Access
    Alison Dalter gives an in-depbth look at objects, properties, events and methods in Microsoft Access. In this webinar you will learn about using the object browser, referring to objects, working with properties and methods, working with object variables, understanding the ...

Join the Community

Give a Little. Get a Lot.

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.

Join the Community

Answers

 

by: TheLearnedOnePosted on 2008-12-21 at 10:53:24ID: 23222711

Are you looking for a definition,

http://en.wikipedia.org/wiki/Continuous_Integration

 <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, ...?

 

by: newbiewebPosted on 2008-12-25 at 06:10:45ID: 23243203

I would also like to hear if you have used CI and what challenges and successes you may have had doing so.

 

by: TiggeritoPosted on 2008-12-25 at 07:14:34ID: 23243291

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.

 

by: newbiewebPosted on 2008-12-26 at 06:46:50ID: 23245156

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

 

by: TheLearnedOnePosted on 2008-12-28 at 19:41:55ID: 23253827

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).

 

by: davismPosted on 2009-01-03 at 20:58:46ID: 23288344

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.

20120131-EE-VQP-002

3 Ways to Join

30-Day Free Trial

The Experts

98% positive feedback on 31,087 answers since March 2000. angeliii is a Microsoft Most Valuable Professional for his work with MS SQL Server & Develoment.

He has also proven his knowledge of Visual Basic Programming, PHP Scripting and Oracle Databases.

The Experts

97% positive feedback on 10,752 answers since July 2000. lrmoore has more than 18 years experience in the networking industry.

The six-time Mircosoft MVPs specialties include firewalls, virtual private networking, and network management.

Testimonials

"...and excellent source for support... Kind of like having your very own IT dept." Electriciansnet

Testimonials

"I was apprehensive at signing up at first. However... it has already made my life as an IT administrator much easier." JaCrews

Testimonials

"WOW! You guys have great, active, and knowledgeable people on here." moore50

Business Clients

Business Clients

In the Press

"If you’ve got a question... Experts Exchange can supply an answer.”

In the Press

"...an invaluable aid for both IT professionals and those who require tech support."

In the Press

"where IT professionals provide quick answers on just about any topic"

Business Account Plans

Loading Advertisement...