Git Ops
This document describes our definition of Git Ops process and introduces what Automated Workflows offer to help you implement Git Ops.
Git Ops (
GOorgo), in the context of aSoftware Development, is a practice where Operations, such as opening a PR, merging code, triggering the CI, checking CI status, etc are automated usinggit events.
We offer Resuable Workflows as building blocks to help you implement Git Ops, according to our model.
As Git Ops Process, we define a (semi) automated protocol, that aims to perform one or more of those (git) Operations (see above).
Notable, Git Ops Processes are:
| alias | Description | Example Cases |
|---|---|---|
release-me |
Release Head into Prod, with 2 PRs: User Br --> release --> main |
On a single developer projects |
board-train |
Integrate Head into Train: User Br --> train |
On multi-developer projects |
Git Ops Processes - Automated
We offer below solutions to help you implement concrete Git Ops Processes:
- Process
release-me
Concept Model & Policies
erDiagram
GIT_REPO ||--|| "MAIN BRANCH" : has
GIT_REPO ||--|| "RELEASE BRANCH" : has
"MAIN BRANCH" }|..|| "PURPOSE" : associates_with
"RELEASE BRANCH" }|..|| "PURPOSE" : associates_with
PURPOSE |o..|{ "POLICY" : implies
PURPOSE {
Policy[] policies "Define what is allowed on a Branch, how PRs are being accepted, etc"
}
Common Policies
- Only Release Tags
- Allows Pre-Release Tags
- Requires PR for merge
- Requires Status Checks for PR
- Requires CI to Pass
- Requires Integration Tests to Pass
- Requires Webhook Status for PR
- Requires Peer Code Review