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


0 comments:

Leave a Reply