Continuous Integration


Continuous Integration

What is Continuous Integration?

Continuous Integration is a principle that encourages developers and teams to share and integrate all their contributions continuously – literally.

  • Moving away from the concept of nightly builds and instead embracing the concept of continuous builds
  • Moving away for policy enforcement and instead rely on quality enforcement

And the objective is to gain full – and automated – control of your software verification and software dependencies, so that every single developer commit has the potential of being a release candidate.

You can run our testing tools on the command line so that they are easily integrated with many CI tools.

A Test Centric Process of the Critical Software

Together, QA-MISRA and CANTATA support both the static and dynamic aspects of verifying your code. Static analysis helps detect defects in the code before time is spent on dynamic software tests to execute the code. Software unit and integration testing verifies the correct behaviour and absence of incorrect behaviour while also checking the amount of code paths and requirements verified by the tests. Automation features at every stage and solid integrations with CI build systems and requirements gathering tools minimise the need for manual testing. All this adds up to a dramatic reduction in defects and saves time by identifying problems faster and earlier in the development cycle.

Jenkins plugin

The ‘early and often’ approach that we advocate for our static analysis solution clearly resonates with the Continuous Integration philosophy that is increasingly being adopted as a robust approach to software quality.

The Jenkins plugin will allow you to automate the analysis of enabled C and C++ projects, enabling you to perform the analysis as a part of your Continuous Integration process.

The plugin offers a range of functionality, including:

  • Automatically check every Jenkins build for rule violations
  • Archive analysis reports directly in your Jenkins workspace
  • Access analysis results via the Jenkins web interface
  • Automatically mark a build as erroneous depending on analysis results according to your own criteria
  • Launch analyses for different builds as separate analysis revisions for easy debugging and documentation of your progress