DevOps is a journey not a destination. Our goal when writing this challenged based hack is to introduce you to GitHub and some common DevOps practices. We also understand that your choice of programming language and DevOps processes might differ from the ones we will be using in this hack, that is OK. Our intent was to select some of the most common programming languages and highlight industry best practices, with an emphasis on showing how GitHub can help you on your DevOps journey, so that you can apply this in your environment with the languages and tools that you use.
This DevOps with GitHub hack will help you learn:
- How to use GitHub to manage source control
- How to use GitHub for Project Management
- How to use GitHub Actions for CI & CD
- Monitoring apps with Application Insights
- Challenge 0 - Setup and Introduction
- Challenge 1 - Track your work with GitHub Project Boards
- Challenge 2 - Centralize your code with GitHub Repos
- Challenge 3 - Infrastructure as Code
- Challenge 4 - Continuous Integration
- Challenge 5 - Build and push Docker image to container registry
- Challenge 6 - Continuous Delivery
- Challenge 7 - Branching & Policies
- Challenge 8 - Monitoring: Application Insights
- Challenge 9 - Security
- Your own Azure subscription with owner access. See considerations below for additional guidance.
- Visual Studio Code
- Git SCM
../Student
- Student Challenge Guides
../Student/Resources
- Student's resource files, code, and templates to aid with challenges
If you are running this hack with a group, here are some options for providing access to Azure:
- Each person/team uses their own subscription (ideal)
- Use a single subscription with each person/team using a different resource group
- Use a single subscription and resource group, with each person/team creating resources within the single resource group (less ideal)
Regardless of the option you choose, you'll have to consider:
- Azure default quotas and resource limits (for example, # of VMs allowed per region or subscription)
- Unique naming of resources - many services may require a globally unique name, for example, App service, container registry.
- Kevin M. Gates
- Will Fox
- Andy Huang
- Julia Nathan