-
What is Continuous Integration (CI)
Continuous Integration (CI) is the strategy and practice of making sure that changes to a software project’s code base are successfully built, tested, reported on, and rapidly made available to all parties after they are introduced.
This section is simply a brief and high level explanation of Continuous Integration. Please refer to Section 8.0 References and Suggested Readings for more information. There are several basic requisites in setting up CI environment:
- Source code should be maintained in a central location, preferably a source code control product like Visual SourceSafe or CVS.
- Each project has build scripts to create a build.
- All code bases include an auto update framework.
In a Continuous Integration Environment source code is maintained in a central location where an application monitors the repository and springs into action when it notices changes (commits) to the code.
The objective involves using a full version of a given projects code base whenever any part of it changes, automatically run a build file (or manually), run automated tests, report on the results for quick problem resolution, and quickly make all changes available to teams involved.
Advantages of Continuous Integration
- Dramatically increase ROI through full cycle efficiencies.
- Guarantees successfully compiled software.
- Visible progress reporting and problem tracking.
- Low TCO (Total Cost of Ownership).
- Relatively easy to build or integrate into an existing development environment.
- High impact environment upgrade with low maintenance.
- Improve development standards, consistencies and accountability.
- Increase amount of quality code.
- Rapidly identify bugs, who created them, and where it is.
- Quickly push high quality change updates to testing.
- Reduce development integration effort.
Disadvantages of Continuous Integration
- Migration of large volumes of internal development projects into a CI environment that are spread across various development environments require tight planning and coordination to successfully migrate.
- Requires understanding of CI and discretion when setting up projects.
Subscribe to:
Post Comments (Atom)
0 comments: