The learning goals for Week 36 are:
Mon: Mandatory Hints. Motivation for SCM. Wed: Release and Branching Strategies, Git. Build Management, Gradle.
Literature:
Slides:
Notes for this weekplan:
From now on, the monday lecture is one lesson only, from 9.15 to 10.00, unless explicitly stated.
The monday lecture will start with a TDD motivation and 'mandatory hints' section so all classes can benefit before handing in.
Most of the 'concepts-and-terms-slides' for Software Configuration Management (SCM) are screencasts that will NOT be repeated in the Auditorium (those with an additional 'Associated Screencast' link above) but only summerized in 2½ slides. Instead I will Wednesday focus our time on showing how git and github flow is used in the mandatory project to handle a 'continuous integration' release management strategy.
As a supplement/alternative to these lessons on Git and Release Management/GitHub Flow, the following screencasts provides specific guidance to their usage in the mandatory project:
Unfortunately, some buttons you see in the screencast has moved a bit, but you should be able to finde the 'Invite members' and 'Code' buttons on the pages.
- Importing HotStone into AU GitLab (10½ min)
- Cloning HotStone from AU GitLab (3 min)
- GitHubFlow: Create and Merge Iteration Branch (12 min)
There is some confusion around regarding the 'GitHub Flow' name, as it is not tied to GitHub. We just use the "model for how to handle releases and development branches" it defines on our AU GitLab server (as it is fully supported). To make things even worse, there is also a more complex model named "GitLab Flow" which is also not tied to neither GitLab nor GitHub. Sigh.
Note that the 'continuous delivery' release management model / GitHub Flow model has unfortunately not made it into the current release of chapter 33 - refer to the slides instead.
Additional exercises:
(6.5) 6.6 6.7 (6.8)
Legend: The typography bold, normal, (brackets), above indicate my perception of how important the exercises are from high to optional. However, solve the mandatory project first!