Repository
All GIT repositories are organized as follows
project
│ README.md
│ LICENSE
│ Directory.Build.props
│ projectname.sln
│
└───devops-build
│
└───assets
│
└───src
│
└───test
file/folder | Description | Mandatory |
---|---|---|
README.md | Readme file in markdown syntax | No |
LICENSE | Text of license the software component is licensed with | Yes |
Directory.Build.props | Used by MSBuild to define common variables and settings for projects | if source code repo |
Projectname.sln | Solution file if this project is either standallone or groups up service | No |
devops-build | Scripts/definition files for build systems | if build need |
assets | Different assets needed for build/deployment (e. g. image for nuget packages) | No |
src | source code root directory | if source code repo |
test | test code root directory | if source code repo |
Versioning
Major and Minor version numbers are defined at the build process.
Because different technologies are used we try to use the same versioning scheme everywhere but with slight differences.
Symbols
This symbols are used in this document.
Symbol | Description | Min Length | Max Length | Sample |
---|---|---|---|---|
YY | Current year | 2 | 2 | 22 (for year 2022) |
MM | Current month | 2 | 2 | 09 (for month September) |
DD | Current day of month | 1 | 2 | 9 (for 9th day of month), 18 (for 18th day of month) |
xxx | Revision number | 3 | 3 | Count of builds on this day |
.NET
Internal assemblies
Scheme: Major.Minor.Build.Revision
Build: YYMM (YY=year and MM=month) Revision: DDxxx (DD=day of month and xxx=counter of builds of this day). No leading zeros for DD.
Public assemblies (external referencable)
Scheme: Major.Minor.Build.Revision
For AssemblyVersion: We use Semantic Versioning for versioning of assemblies.
For AssemblyFileVersion: AssemblyFileVersion contains version including Build and Revision (see Internal assemblies)
Node
Scheme: Major.Minor.Patch
Patch = YYMM-DDxxx YY= 2-digit year