Information Technology Reference
In-Depth Information
project, but it won't work on mine because we don't have the time,
resources, and money” or “We're a different type of project—not like
the ones you've described.” The following questions and answers deal
with some of these concerns.
“My project has seven billion lines of code. How is this
going to work for me?”
Okay, so your project probably doesn't have “seven billion” lines of
code, but let's just say you're on a large project and feel like CI causes
too many interruptions. The larger the project, the more you need CI
because of the constancy of change. It's like saying, “I'd rather not
know about problems that exist in our code base; I'd rather wait until
later when I don't remember what I was working on.” This is not to
say, however, that incorporating CI into a large project won't take
more time than on a smaller project. It simply equates to more pain
that can be reduced, more success you can gain more often, and more
flexibility with your project assets to create more artifacts.
The primary concern with a large project is keeping the build fast.
You may want to run longer-running processes periodically (or staged,
as described earlier) rather than continuously. Examples include com-
ponent tests, system tests, functional tests, and inspections. Splitting
the code base into separate projects can also help improve the integra-
tion build duration.
“I have a legacy application, so how will this work for me?”
If you are not running a CI system, it may take some time to create a
build script to support your source code, since build scripts must be
written so that they can be executed by an automated process. How-
ever, even if you don't have automated tests, you can start adding auto-
mated tests for every change request (i.e., if there is a defect, the first
thing you can do is write an automated test). Then, include the execution
of this test into the build script and run it as a part of the CI system.
“What if our source code is in multiple version control
repositories?”
This question is often related to the next question about distributed
development. Let's suppose you have one project in Subversion called
Search WWH ::




Custom Search