Continuous Integration (CI) is a practice every team should adopt in order to solve integration problems easily and detect defects and errors early. Using CI we can growth solid software by giving greater confidence to the developers and better products to the final customers. In this slides we will briefly introduce what CI is and we will discuss some of the many different solutions we can employ when it comes to setting up a CI pipeline for our projects.
4. Once upon a time...
A team composed by several developers with
strong passions, different cultures and skills
Multiple projects ranging from mobile
applications to complex backend applications
5. How can we further improve the quality of our
work to get a better product?
Continuous Integration to the rescue!
Retrospective question
6. CI: Pragmatic definition
Codebase is owned by several developers that
continuously integrate their changes to a common
version control system.
For each integration the system runs a predefined
set of tasks automatically; these tasks may vary from
running all the tests to building all the components
13. CI is obviously not...
“WELL, IT BUILDS ON MY MACHINE”
“PROBABLYYOU DON’T HAVEVERSION ABC OF XYZ”
“I SWEAR,TEST PASSED ON ECLIPSE”
“IT IS NOT AN ERROR, IT’S JUST A FAILURE”
“I PUSHED WITHOUT RUNNING THE TESTS”
“WHEN WAS THIS FEATURE INTRODUCED?”
“MY MACHINE IS NOT CONFIGURED”
“THE BUILD HAS BEEN BROKEN FOR 3 DAYS”
“MY TEST DB IS NOT CLEAN” “DOYOU HAVE DEFAULT MAVEN PROFILE?”
“INTEGRATION IS LAST PART”