Version control

DORA Version control

Kom i gang. Det er Gratis
eller tilmeld med din email adresse
Version control af Mind Map: Version control

1. Why

1.1. Minimize risk being able to

1.1.1. 1 - restore production DR

1.1.1.1. repeatedly

1.1.1.2. predictably

1.1.1.3. quickly

1.1.2. 2 - automatically change capacity

1.1.3. 3 - re create

1.1.3.1. lower environments

1.1.3.2. build + deploy pipes

1.1.4. REPRODUCIBILITY / CAPACITY MGT

1.2. Support dev collaboration

1.2.1. Commit

1.2.2. Compare

1.2.3. Merge

1.2.4. TRACEABILITY / AUDITABILITY

2. Scope

2.1. ALL needed assets

2.1.1. txt files

2.1.1.1. App code

2.1.1.1.1. Potentially dependencies code

2.1.1.1.2. Testing code

2.1.1.2. Config

2.1.1.2.1. e.g. Terraform HCL to provision infra

2.1.1.2.2. e.g. GitLab-ci.yaml set of keywords

2.1.1.2.3. e.g. buildpack / docker files

2.1.1.2.4. e.g. container orchestration / helm charts

2.1.1.3. Scripts

2.1.1.3.1. e.g. bash, make ...

2.1.1.4. DB schema definition

2.1.1.4.1. e.g. JSON schema file

2.1.1.5. Supporting artifacts

2.1.1.5.1. README.md and docs

2.1.2. non txt files

2.1.2.1. images

2.1.2.1.1. containers

2.1.2.1.2. VMs

2.1.2.2. packages

2.1.2.2.1. Java

2.1.2.2.2. Node.js

2.1.2.2.3. Phyton

2.1.2.2.4. RPM

2.1.2.2.5. Debian

2.1.2.2.6. ...

3. What

3.1. Version control systems for

3.1.1. for txt files

3.1.1.1. e.g. git / gitlab - bitbucket - github

3.1.1.2. subversion, mercurial ...

3.1.2. non txt files

3.1.2.1. e,g, Artifact registry

3.1.2.2. e.g. GCS

3.2. Commit / revisions / tags

3.2.1. Group of changes

3.2.2. Metadata

3.2.2.1. Who

3.2.2.2. When

3.2.2.3. Why

4. Pitfalls

4.1. Limited coverage

4.1.1. e.g. only app code

5. Improve

5.1. Version control contains ALL info to

5.1.1. Build packages

5.1.1.1. on every commit

5.1.1.2. deployable to any enviroment

5.1.2. Create prod-like test environment

5.1.2.1. on demand

5.1.2.2. relying on the previous

5.1.3. Scale production capacity

5.1.3.1. in fully automated fashion

5.1.4. Recover from disaster

5.1.4.1. in fully automated fashion

5.2. Define measurable goal

5.2.1. of version control improvements

5.2.2. in your context

5.2.3. that are affordable

5.2.3.1. cost

5.2.3.2. time

6. Measure

6.1. Metric

6.1.1. % under version control

6.1.2. Time to recover code from version control

6.2. by scope

6.2.1. App

6.2.1.1. code

6.2.1.2. config

6.2.1.3. build and deploy code / scripts

6.2.2. IaC Infra as code

6.2.3. System config