Skip to main content

Day 2 - Source Control with Git

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

image.png
image.png

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


image.png

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
image.png
image.png

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


image.png

Labs that need done are 4-8