CI Docs
===
Build Servers
---
### Public Servers
3 Public Build Servers
* Windows
* MacOS
* Linux
Can run on any branch
Only contains build tools
Never contains credentials
Running on V-Servers on a public Root-Server
### Internal Servers
3 Internal Build Servers
* Windows
* MacOS
* Linux
Used for Signing and Deployment
Signing Key are local on the Internal Build Servers
Only run on CD Branches
Protected Enviroments
Manual Rollouts
CD Docs
===
Borepin and BFFH are deployed in 3 stages
* Internal
* Beta
* Production
Internal(innov) Stage
---
Tag Borepin: alpha
Tag BFFH: alphav0.1.0-
Borepin deploys to "FabAccess Testing - Intern and Beta"
BFFH deploys to docker-tag "internal"
Versionnumber is JobID
Internal is only for "InnovisionLab"
Foo builds
---
Tag BFFH: `v0\.[0-9]+\.[0-9]+`
* Keine Stabilitätsgarantie
* Minor version Client<->Server **muss** ident sein
* Config kann inkompatibel sein
letzte alpha: `v0.N.M`
Bar builds
-----
Tag BFFH: `v0.X.Y` X > N
* Begrenzte Stabilitätsgarantie
* API is nie wieder broken bis zur v0.X+2.0
* Automatische updates *sollten* nichts kaputt machen
* Wenn schon nicht 1a kompatibel dann wenigstens konvertieren
* ...
* ...
#### Test builds
Tag BFFH: `v0.X.Y+1-<git tag>`
Stable release
---
Tag BFFH: `v1.0.0`
* Was auf uns dependet geht nicht kaputt
Beta Stage
---
Branche Borepin: beta
Branche BFFH: beta
Borepin deploys to "FabAccess - Beta"
BFFH deploys to docker-tag "beta"
Versionnumber is JobID
Beta is for external Testers
Production Stage
---
Branche Borepin: main
Branche BFFH: main
Borepin deploys to "FabAccess - Production"
BFFH deploys to docker-tag "latest"
Versionnumber is Git-Tag
Production is for all Users