Monorepo vs multiple repos
Use whatever makes the most sense for the team
- Mono - all your code is in one repo
- multiple - code broken out into multiple repos
Implement a Change log
Keep it to the point, don't make it noisy.
Branching strategy
Don't commit directly to main
- Github flow is a good place to start
Forking
Forking creates a server side repo from an existing repository.
- used in open source projects
- when the work is done in the fork, you can then create a pull request from the fork to the official project.
Lesson 4:
Technical debt
- Code quality
- complexity
Code Quality
Improving code quality using automated testing and code sniffing tools
Git Hooks
Run some arbitrary code before, after certain Git lifecycle events.
Explore foster inner source
Brings open-source software development inside your environment.
Manage Large Git Repos
- large binary files and long history - takes forever to clone down 20GB
- Scalar
- LFS for Git
Tagging
Tag the repo to create a point in time version.
Review
Module 3 - Azure Pipelines and Github Actions
Azure Pipelines is a cloud service that automatically builds and tests your code project and makes it available to other users. It works with just about any language or project type.
Trigger - Stage - Job - Agent - Task - Steps
Trigger - what causes the pipeline to run.
Pipeline - The entire thing that consists of stages
Stage - a collection of Jobs
Job - collection of Steps
Steps - collection of Tasks
Docker and containers
Cheatsheet -
Azure products
- Container registry
- Azure Container Service
- AKS
Agent pools
Agent Container jobs Deployment group jobs Agentless jobs
Continuous Integration
Github actions
Labs that need done are 4-8