Last updated: Feb 08, 23 18:46 UTC | Permalink
Week 8 - Continuous Integration
Learning Objectives:
In this week of the course, you will learn to:
- Identify the stages of a continuous development pipeline and describe how they relate to improving code velocity and quality
- Describe the difference between key deployment container abstractions and their role in modern software
- Describe the distinction between a DevOps and “traditional” developer/operator mentality
- Configure a continuous integration workflow to automatically deploy your team’s project repository to Netlify and Heroku
We will also discuss project planning in class time, and each team will meet briefly with their instructor to discuss their project concept and plan.
Important Dates:
- Project Plan due 3/11
- HW4 due 3/25
Lessons:
- Continuous Integration Slides PDF, PPT
- Deployment Infrastructure Slides PDF, PPT
- Continuous Delivery Slides PDF, PPT
Resources
- Activity: deploying Covey.Town in CI
Additional Readings:
- Software Engineering @ Google, Chapters 23 (Continuous Integration), 24 (Continuous Delivery), 25 (Compute as a Service)
- Podcast: Jafar Soltani on Continuous Delivery for Multiplayer Games, with Nate Black, 2018
- Deploying Node.js Apps on Heroku
- Release engineering at Facebook: Presentation from 2014, more recent blog post
- Open-source monitoring and infrastructure tools referenced in lessons: Grafana, Icinga, Caprover