Hop til hovedindhold

Version Control & Branching Strategy

Document status35 - Reviewed

Version control and branching strategy

Version control provides many advances, the most important of which are history/rollback opportunities, author tracking, and automating deployments between environments. The tool used for version control is GIT.

Nearly all parts of the solution are managed using version control:

  • Azure Infrastructure
  • Functional Logic (C# and PowerShell)
  • Deployment Pipelines for Azure components (YAML)
  • Documentation (Azure DevOps Wiki)

Branching strategy

  • main - Branch til vedligehold af produktion.
    • Kun til rettelser, der må gå direkte i produktion hos alle kunder.
    • Alle ændringer ender heri på et tidspunkt.
  • pilot/* - Branches til kontrolleret udrulning af features til udvalgte pilotkunder, der skal holdes opdaterede.
    • Skal kun bruges, når der er behov for test på kundemiljøer (dvs. ikke interne testmiljøer).
    • Oprettes direkte fra main via Azure DevOps, for ikke at omgå branch policies.
    • Ændringer i main merges automatisk til pilot/*-branches.
    • Når en pilot er gennemført med succes, merges det til main.

Feature and fix branches

Feature branches must follow the naming convention:
feature/[DevOps ID]-[Short meaningful text]

Bug fix branches must follow the naming convention:
fix/[DevOps ID]-[Short meaningful text]

Quality assurance of source code

In addition to peer review through pull requests, additional quality assurance is incorporated into the deployment pipelines. Details are in Deployment Guide.