Build and Deploy
De GitLab-pipeline bestaat uit 4 stages:
- test
- prerelease
- release
- docs
De test-stage omvat linting van de code, auditten van npm-packages en het uitvoeren van unittests. Deze stage wordt in alle pipelines uitgevoerd.
De prerelease-stage is voor het publiceren van alpha- en beta-packages naar de GitLab NuGet-package-registry. Wanneer een branch wordt gecommit die niet de main of een release branch is, komt de optie beschikbaar om door middel van handmatig de job te starten, dat er alpha packages worden gepubliceerd. Beta-packages worden automatisch gepubliceerd bij een merge of commit naar de main branch.
De release-stage publiceert een nieuwe versie van de packages naar de GitLab NuGet package registry. Daarnaast worden de packages Iprox.Cms en Iprox.OpenApi.Generator gepubliceerd naar de Azure Artifacts iprox.nuget-feed. Deze stage moet handmatig worden aangezet en is alleen beschikbaar in een merge of commit naar de main of een release branch.
De docs-stage rolt de Docusaurus-documentatie uit naar een Azure Static Web App. Bij veranderingen in de documentatie wordt bij een branch commit de documentatie naar een preview-omgeving gezet: https://wonderful-moss-0cae67903-preview.westeurope.6.azurestaticapps.net/. Bij een merge of commit naar de main of een release branch wordt dit naar de productieomgeving gezet: https://cms-docs.iprox.nl/