Git Workflow
- One can’t just directly push to master. You issue a merge request and after review, it is manually merged to master. This MR triggers deploy to staging.
Jobs
- test job is executed on every branch push, except master (environment: test)
- deploy to stage is triggered on merge request approval and subsequent code pushed to master (environment: stage)
- deploy to production is triggered only manually after Q&A is confirmed (environment: production)
Stages
-
test stage is where all the tests are executed
- backend unit tests
- backend integration tests
- frontend unit tests
- frontend screenshot tests
- frontend functional tests
Environments
- test is run as a new docker envirnoment, done by GitLab runners
- stage is deployed on Germany “staging” cluster and is available for testing on https://n.dev.fairwalter.gq/
- production is deployed on GKE/Exoscale in Switzerland