Group workflows with github
Module Overview
A GitHub Repository is like a database for your software project. It stores changes, enables you to recover from disasters, and is the main staging area for the project team and client to access the product. In a group project all members of the group will be contributing code and documentation to the repository. Deployment of software is everything we need to do to make it available to clients for use. This workshop introduces a workflow to help you 1) avoid clashes 2) maintain a working code base and 3) deploy your software for clients.
Related Unit/Course Learning Outcomes:
O1. apply knowledge and skills of information technology in project situations;
O5. perform effectively as part of a multidisciplinary and multicultural team.
Materials
Patterns for Managing Source Code Branches Martin Fowler
Software Delivery Guide Martin Fowler
Class Agenda
- Github workflows for groups: what can go wrong and how to get it right
- Practice: github example of plan, test and commit cycle for groups
- Publishing your code to clients: some options from web interfaces to docker containers
- Practice: make a plan with software support for sharing your code with users
Class Activity
Activity 1: github example of plan, test and commit cycle for groups
Activity 2: make a plan with software support for sharing your code with users
Module Assignment
You will receive formative feedback on your plans in the workshop. Summative assessment is in each of the group project deliverables.