basysKom Toolbox

03 – Ci keeps your project healty

Continuous Integration keeps your project healthy

Goals

Ensure that your code base stays healthy. Make sure it compiles (for all relevant configurations) and checks are run in a consistent way.

Description

Continuous Integration ensures that your code base stays healthy by safeguarding that the version in your version control system actually compiles (on all target platforms, for all build variants, with a defined build environment). It also ensures that unit tests are run and provides the base line for creating actual development, test and production releases in a controlled way. These build artifacts are an important foundation for error and crash analysis. A CI system is also an enabler to make the most out of static analysis tools such as clazy or qmllint.

Environment

All

Platform

All

Implementation effort

Low to medium – provided that a project already implements “Proper automatic builds” and has a practical way to manage external dependencies.

Applicability

A must-have if there is more then one developer involved with the project.

Caveats

See also

Implementation hints

  • If “on-premise” is a must have a look into Jenkins or gitlab-ci. If the cloud is an option look into Travis or AppVeyor (for Windows).
  • Traditionally the CI configuration of a project was kept separated from the project itself (often even outside of version control). Placing the CI configuration alongside the actual project nowadays supported by a lot of systems and is adding a lot of control and flexibility. Examples are Jenkins pipelines or Travis yaml files.
About the Toolbox

The basysKom Toolbox is a state-of-the-art collection of best practices in agile management and software development and a valuable tool for every kickoff meeting.

These cards can be used during a project kickoff in order to select best fitting good practices from the very start of your project, but also as a reminder during the course of a project implementation. Every card holds a QR code with additional information related to the specific tool, the tools’ applicability, known constraints and additional tips on how to implement it in a project setup.

You can provide us feedback on GitHub.

Toolbox

basysKom Newsletter

We collect only the data you enter in this form (no IP address or information that can be derived from it). The collected data is only used in order to send you our regular newsletters, from which you can unsubscribe at any point using the link at the bottom of each newsletter. We will retain this information until you ask us to delete it permanently. For more information about our privacy policy, read Privacy Policy