Meet with team smartData

Calendar April 17 - 21, 2023
location Chicago, IL

Continuous integration systems are a vital part of any Agile team because they help enforce the ideals of Agile development.

  • Jenkins, a continuous build tool, enables teams to focus on their work by automating the build, artifact management, and deployment processes.
  • Jenkins’ core functionality and flexibility allow it to fit in a variety of environments and can help streamline the development process for all stakeholders involved.

Continuous Integration (CI)

  • What is it?
  • What are the benefits?
  • Continuous Build Systems

CI Defined –

Continuous Integration is a software development practice where members of a team integrate their work frequently, usually each person integrates at least daily – leading to multiple integrations per day. Each integration is verified by an automated build (including test) to detect integration errors as quickly as possible.

CI – What does it really mean?

At a regular frequency (ideally at every commit), the system is:

  • Integrated All changes up until that point are combined into the project
  • Built The code is compiled into an executable or package
  • Tested Automated test suites are run
  • Archived Versioned and stored so it can be distributed as is, if desired
  • Deployed Loaded onto a system where the developers can interact with it

CI – Workflow

CI – Benefits

  • Immediate bug detection
  • No integration step in the lifecycle
  • A deployable system at any given point
  • Record of evolution of the project

CI – The tools

  • Code Repositories
    • SVN, Mercurial, Git
    • Continuous Build Systems
      • Jenkins, TeamCity, Bamboo, Cruise Control
      • Test Frameworks
      • JUnit, xUnit, Mocha, Cucumber, CppUnit
      • Artifact Repositories
        • Nexus, Artifactory, Archiva

        Share on

Estimate Project