Repository
Alle GIT-Repositories sind wie folgt organisiert
project
│ README.md
│ LICENSE
│ Directory.Build.props
│ projectname.sln
│
└───devops-build
│
└───assets
│
└───src
│
└───test
| Datei/Ordner | Beschreibung | Verpflichtend |
|---|---|---|
| README.md | Readme-Datei in Markdown-Syntax | Nein |
| LICENSE | Text der Lizenz, unter der die Softwarekomponente lizenziert ist | Ja |
| Directory.Build.props | Von MSBuild genutzt, um gemeinsame Variablen und Einstellungen für Projekte zu definieren | bei Quellcode-Repo |
| Projectname.sln | Solution-Datei, falls dieses Projekt eigenständig ist oder Services gruppiert | Nein |
| devops-build | Skripte/Definitionsdateien für Build-Systeme | bei Build-Bedarf |
| assets | Verschiedene Assets, die für Build/Deployment benötigt werden (z. B. Bild für NuGet-Pakete) | Nein |
| src | Wurzelverzeichnis des Quellcodes | bei Quellcode-Repo |
| test | Wurzelverzeichnis des Testcodes | bei Quellcode-Repo |
Versionierung
Major- und Minor-Versionsnummern werden im Build-Prozess festgelegt.
Da unterschiedliche Technologien verwendet werden, versuchen wir, überall dasselbe Versionierungsschema zu nutzen, jedoch mit leichten Unterschieden.
Symbole
Diese Symbole werden in diesem Dokument verwendet.
| Symbol | Beschreibung | Min. Länge | Max. Länge | Beispiel |
|---|---|---|---|---|
| YY | Aktuelles Jahr | 2 | 2 | 22 (für Jahr 2022) |
| MM | Aktueller Monat | 2 | 2 | 09 (für Monat September) |
| DD | Aktueller Tag im Monat | 1 | 2 | 9 (für 9. Tag im Monat), 18 (für 18. Tag im Monat) |
| xxx | Revisionsnummer | 3 | 3 | Anzahl der Builds an diesem Tag |
.NET
Interne Assemblies
Schema: Major.Minor.Build.Revision
Build: YYMM (YY=Jahr und MM=Monat) Revision: DDxxx (DD=Tag im Monat und xxx=Zähler der Builds dieses Tages). Keine führenden Nullen für DD.
Öffentliche Assemblies (extern referenzierbar)
Schema: Major.Minor.Build.Revision
Für AssemblyVersion: Wir verwenden Semantic Versioning für die Versionierung von Assemblies.
Für AssemblyFileVersion: AssemblyFileVersion enthält die Version inklusive Build und Revision (siehe Interne Assemblies)
Node
Schema: Major.Minor.Patch
Patch = YYMM-DDxxx YY= 2-stelliges Jahr