## CI - Continuous Integration --- Continuous Integration (CI) is a development practice that requires developers to integrate code into a shared repository several times a day. Each check-in is then verified by an automated build, allowing teams to detect problems early. --- ### Why CI? The main aim of CI is to prevent integration problems. By integrating regularly, you can detect errors quickly, and locate them more easily. --- ### More CI advantages - Spend less time debugging and more time adding features - Stop waiting to find out if your code’s going to work - Reduce integration problems allowing you to deliver software more rapidly --- `“Continuous Integration doesn’t get rid of bugs, but it does make them dramatically easier to find and remove.”` said Martin Fowler, Chief Scientist, ThoughtWorks honestly don't know who tf is Martin Fowler but the presentation looks more intresting when adding some related quotes! --- ### How to use? --- * Developers check out code into their private workspaces * When done, commit the changes to the repository * The CI server monitors the repository and checks out changes when they occur * The CI server builds the system and runs unit and integration tests * The CI server releases deployable artefacts for testing --- * The CI server assigns a build label to the version of the code it just built * The CI server informs the team of the successful build * If the build or tests fail, the CI server alerts the team * The team fixes the issue at the earliest opportunity * Continue to continually integrate and test throughout the project --- ## Users responsibilites * Check in frequently * Don’t check in broken code * Don’t check in untested code * Don’t check in when the build is broken
{"metaMigratedAt":"2023-06-14T23:07:16.831Z","metaMigratedFrom":"Content","title":"Untitled","breaks":true,"contributors":"[{\"id\":\"c812783e-2740-47d0-8981-33bca2701792\",\"add\":2776,\"del\":1002}]"}
    149 views