Continuous integration is an approach to software development in which all code changes are regularly integrated into the broader application and tests performed to ensure that the application functions as expected. Often associated with Agile software development, continuous integration requires that all developers working on an application check in their code to a version-controlled code repository at least once a day. Either on a set daily schedule or triggered by code check-ins, a build server compiles the application and subjects it to a suite of automated tests. As a key part of continuous integration, if a test fails the build is considered to be broken and automated notifications are sent to the development team, including information about the check-in that broke the build. In keeping with Agile continuous integration best practices, undoing or repairing the bad check-in is priority number one and no non-related check-ins are allowed until the build is back in a healthy state.
Continuous integration stands in sharp contrast to the past common practice of deferring code integration and testing until late in the application development cycle. By instead integrating early and often, software makers gain these major benefits:
For many of today’s software applications – and especially for web, cloud, and mobile apps – performance rivals functionality as the key to driving adoption and profitability. Consequently, market leaders are now extending their arsenals of continuous integration tools and continuous delivery tools with tools for continuous application performance monitoring and management. The most advanced and comprehensive solution in this space is Dynatrace Application Monitoring.
At every stage of the application delivery lifecycle – from the developer’s desktop IDE, to continuous integration builds and automatic unit testing, through acceptance testing and load testing and on to daily management of applications in production – Dynatrace delivers unprecedented visibility into application performance and all of the method-level diagnostic data that your team needs to quickly troubleshoot performance degradations or hot-spots. Organizations that use Dynatrace Application Monitoring as part of their approach to continuous integration and delivery are able to nip performance or scalability issues in the bud, verify that their applications are ready to go live, and ensure continuous high performance of applications in production.