AZ-400 Chapter 4-6 Flashcards
What is centralized source control?
Where only the server has the full history and set of branches.
Users ‘check out’ the latest set of changes only
Allows for tight security control
What is decentralized source control?
Where each user has a full copy and the history
Everything can live on a sever but it’s cloned to your local machine so no need to be connected actively
Harder to limit security on this type of source control
How do you store large files in git?
Using LFS (large file storage). It stores a pointer to the real file
use ‘git lfs install’ to install it
then ‘git lfs track “*.mp4” ‘ to use it for all mp4 files
Git command to add a new remote?
git remote add myNewRemote https://pathToMyNewRemote
What are the 3 branching strategies?
GitFlow, GitHub Flow, and Release Flow
What is Github Flow?
There’s 1 master branch always in a deployable state
You pull a new branch down when you start work on a feature
What is GitFlow?
The most elaborate of the schemes
Have a master and a develop branch
Features are then branched off of develop
Features merge back to develop, then a release branch is made
When release branch is cleared, it’s merged back to master
What is Release Flow?
There is a master branch
Features are branched off of here and then merged back to master
However master is never deployed
A new release branch is made for each deployment
This ensures theres a snapshot of each release
What is branching by abstraction?
Essentially maintaining 2 copies of the code within the repo
What are the types of merge commit?
Merge commit - just like a normal merge. You can see both sources
Squash commit - combine all individual comments from source and put it into one commit. Keeps log looking clean
Rebase - pushes your local changes out. Brings in newer changes from the master, then puts your changes back in
What’s a monolithic repo?
All projects and apps in one repo
Pros: Easy code reuse, changes across apps can be done in one commit
Cons: very very large, plus tight coupling between apps
What are some things you can secure with branch policies?
Set min # of reviewers
Limit merge types
Config build validation (and disallow merging if failed)
Call other API’s for validation
What is Continuous Integration?
Integration of your changes with others changes, which when tested combined, still work.
Integration is ideally once per day
Works in conjunction with static analysis/unit testing
What are the 4 pillars of CI?
Version Control
Package Management
CI system (Pipelines)
Automated Build
What are examples of agentless pipeline tasks?
Waiting for manual approval
Inserting a delay
Calling a REST service