Changes for page Continuous Integration
Last modified by chrisby on 2024/05/05 17:22
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -1,7 +1,5 @@ 1 1 **Integrate code change at least once a day.** This means that code changes on a feature branch you are working on should be merged/integrated into the main branch, and main branch changes should be merged into the feature branch. 2 2 3 -For example, at the beginning of the day, each developer merges the latest main branch commits into their current feature branch, and at the end of the day, each developer merges their feature branch commits into the main branch. 4 - 5 5 ### Benefit 6 6 7 7 **Many Small Integrations Are Cheaper**: The longer side branches wait to be merged into the main branch, and the larger the differences between them become, the greater the risk of multiple integration conflicts. It is easier to fix small individual integration problems iteratively than it is to fix multiple problems at once. Therefore, continuous integration has the advantage of catching integration problems early, when they are cheap to fix. ... ... @@ -18,3 +18,12 @@ 18 18 19 19 * Code is properly tested, refactored and simplified. 20 20 * Code is implicitly reviewed in real time by [[pairing up|doc:Software Engineering.Agile.Extreme Programming.Pair Programming.WebHome]] with technically experienced team members. 19 + 20 +### Developer Branches and Asynchronous Testing 21 + 22 +One simple workflow is that all developers work 23 + 24 +One workflow is that all team member work directly on the main branch. The problem is, that often we like to use asynchronous execution of 25 + 26 +One possible workflow is to create a new branches from main branch, one for each developer in the team. Therefore they are called developer branches and can be named after the team member they stand for. At the beginning of the day, each developer merges the latest main commits to his personal developer branch. During the day he adds commits and can push them without affecting any other team member. 27 +Asynchronous excution of the CI pipeline tests.