What is continuous integration?
Continuous integration (CI) has gained a reputation as an increasingly popular software development practice. But what is continuous integration, exactly? Continuous integration is the practice of frequently pulling all new code check-ins into a full application build and testing that build to ensure that the application functions as expected. This integration and testing occurs at least daily and in some organizations much more often than that, with the aim of validating each incremental change to the application so that problems introduced by new code can be detected when they're small and easily fixed.
What is continuous integration: Common tools and practices
Continuous integration is a cornerstone of the "DevOps" approach to software making, and like most things DevOps, supporting tools play a key role. What are DevOps tools for supporting continuous integration? The basic types of CI tools are:
- Source control systems for application code and deployment code. A common associated practice is that developers check in their code several time a day so that no single check-in is overly large or complex.
- Build servers (sometimes called "CI servers") that automatically compile and build the software from the latest code, subject it to automated test suites, and alert developers if tests fail. A common practice is that no additional new feature code can be checked into the mainline until the code that "broke the build" is fixed and a clean build is generated.
- Test automation frameworks for designing and executing tests that can be triggered by the build server. A common practice is to design tests that execute very quickly so that validated builds can be fast and frequent.
In answering the question of what is continuous integration, it's worth distinguishing continuous integration vs continuous delivery. Continuous delivery goes a step beyond continuous integration by ensuring that each of the frequent builds not only passes validation tests but is able to be deployed to production on short notice. This deployment-readiness is achieved by using test environments that closely approximate production environments and by leveraging continuous deployment tools that automate and standardize the deployment of application code and supporting resources.
What is continuous integration: Next-level CI with continuous performance engineering
Continuous integration practices have evolved to reach into more areas of development, such as database continuous integration and AWS continuous integration. But the most powerful way in which CI has evolved is to address not only application function but application performance – which is why so many leading DevOps organizations now count Dynatrace APM among their CI tools.
Dynatrace APM provides a shared framework for developers, testers, and production staff to measure, analyze, and optimize the performance of applications through every stage of the application lifecycle – from coding, to build-triggered unit and functional tests, through to load testing, launch, and live production. At every stage of the delivery pipeline Dynatrace profiles application performance, highlights anomalies and regressions and architectural defects, and pinpoints the cause of performance problems down to the offending application tier, component, and line of code.
You may also be interested in…
Top challenges facing CIOs in a cloud-native world
Based on a global survey of 800 CIOs, this report takes a closer look at the challenges that organizations face in overcoming the hyper-complexity of modern, cloud-centric ecosystems.
Global Digital Performance & Transformation Audit
In an independent study involving more than 1,200 global IT and business professionals, Dynatrace reveals that it’s commonplace for organizations to encounter customer and revenue-impacting performance problems every five days.
Named a Leader in the Gartner Magic Quadrant for APM Suites 8 years in a row
It's our dedication to innovation and ability to see the market expanding beyond APM and into the modern era of "digital performance management" that earns us a top spot year after year.