Home
About
Blog
LinkedIn
Continuous Integration Notes
21 Jun 2021
[
ci
cd
]
Motivation
Avoids “It works on my machine” scenario
Automatically run the unit and integration tests
Goals
Easy to maintain toolcahins
Concise but powerful config
Locally runnable CI jobs
Main tool
Build system:
Make
Build system generator:
CMake
Make is a well known tool to anyone working with C/C++ projects. It’s responsible for compiling the entire source code of a project, and it allows for great customization and extensibility by allowing each user to write their own compilation rules.
Continuous Integration Frameworks
Jenkins
AppVeyor
Travis
Sample projects
https://github.com/Algorithms-and-Data-Structures-2021/cpp-cmake-testing-project-template
https://github.com/bsamseth/cpp-project/
References
https://workwiththebest.intraway.com/blog-post/ci-c-continuous-integration/
https://buddy.works/docs/quickstart/cpp
Cherno about Jenkins and hosting
Introduction of Docker
Git hook example