This repository is for the CDCR Github 3-Day Workshop in September 2023. As the workshop delivery will be as open and candid as possible within the NDA, no recording will be allowed. However, the content will be made available here for reference and review.
This workshop is for CDCR employees who are interested in learning more about Github and how it can be used to improve their development process:
- Software development engineers (the "dev" part)
- Systems engineers (the "ops" part)
- Solution architects and software development leads
- Quality engineers
- Business analysts
- Software building project managers
- Security engineers who intend to be part of a "DevSecOps" team
Regardless of your level of experience with GitHub, you will leave this workshop with a better understanding of how to use it to improve your development process and collaborate with your team members.
- This workshop is not intended to teach you how to code
- When code is referenced in the workshop it will be provided to you
- 🚨 Spoiler Alert: we will build and deploy a simple web application using .NET and Blazor WASM to both GitHub Pages and Azure
- If you have questions related to the provided code you may ask them during the Q&A section of the workshop
- When code is referenced in the workshop it will be provided to you
- This workshop is not intended to teach you how to use Git Commands
- You will be shown the commands needed primarily using the GitHub Desktop client application
- If you want to get familiar with Git, you may want to take the Git Basics learning path on Microsoft Learn
- Windows, Mac, or Linux computer (required)
- Device that will do two-factor authentication (2FA) (optional, but highly recommended)
- Mobile
- Biometrics
- Visual Studio Code https://code.visualstudio.com
- GitHub Desktop https://desktop.github.com (optional)
- Git command-line https://git-scm.com/downloads
- GitHub CLI https://cli.github.com (optional)
- GitHub (required) https://github.com
- Azure (optional) https://azure.microsoft.com/en-us/free
- Welcome and introductions
- Name: Glen Souza
- Title: Principal Cloud Solution Architect
- LinkedIn: https://www.linkedin.com/in/glensouza
- GitHub: @glensouza https://github.com/glensouza
- Introduction to GitHub
- What is GitHub?
- Why use GitHub?
- Getting started with GitHub
- Basic GitHub workflow
- BREAK (15 minutes)
- Creating and managing repositories
- Creating a repository
- Cloning a repository
- Forking a repository
- Basic GitHub commands
- Clone
- Pull
- Push
- Commit
- Branch
- Merge
- Making pull requests
- Review workflow
- LUNCH (1 hour)
- Protecting your repositories
- Rules for repositories
- Managing team members
- BREAK (15 minutes)
- Advanced GitHub features
- Branching strategies
- What is CI/CD?
- Q&A
- More GitHub LevelUp Resources
- Wikis
- GitHub Pages
- Creating a GitHub Pages site
- Hosting a website on GitHub Pages
- GitHub extensions
- Continuous integration and continuous delivery (CI/CD)
- Setting up CI/CD with GitHub Actions
- Creating a GitHub action
- Running a GitHub action
- Setting up CI/CD with GitHub Actions
- Lunch (1 hour)
- GitHub Packages
- Creating a GitHub Package
- Publishing a GitHub Package
- Package Types
- Storing and managing secrets
- GitHub Secrets
- Q&A
- More GitHub LevelUp Resources
- GitHub Projects
- Managing issues
- Creating issues
- Commenting on issues
- Closing issues
- Issue template
- Lunch (1 hour)
- GitHub Advanced Security
- Dependabot
- Code scanning
- Secret scanning
- Other GitHub Features:
- GitHub Copilot (AI-powered pair programming)
- GitHub Codespaces (Cloud-hosted development environments)
- Q&A