CD Setup

Wir bieten ein CD (Continuous Delivery) Pipeline Template an, dass client und server kompiliert, packt und die Web Applikation publiziert. Dies kann dann mit einem Release auf einem Web Server deployed werden.

Das CD Template befindet sich unter Quino-Web\build\templates\cd-build-and-publish-jobs.yml.

In der CD vom Projekt wird von diesem Template angeleitet. Ein Beispiel sieht wie folgt aus:

trigger: none name: $(date:yyyyMMdd)$(rev:.r) resources: repositories: - repository: quinoweb type: git name: Quino/Quino-Web extends: template: build/templates/cd-build-and-publish-jobs.yml@quinoweb parameters: serverProjects: '**/Project.WebAPI.csproj' serverwwwRootDirectory: './server/src/apps/Project.WebAPI/wwwroot/' pathtoPublish: './server/src/apps/bin/publish/'

Als Resource wird der Verweis auf das Quino-Web Repository verwendet. Damit kann auf das CD Template zugegriffen werden.

Danach muss nur vom Template abgeleitet werden mit extends.

Mit diesen Parametern kann der CD beeinflusst werden

Parameter : Type (string)

Default

Beschreibung

Parameter : Type (string)

Default

Beschreibung

npmrcFilePath

'./client/.npmrc'

Pfad zur .npmrc Datei um sich beim npm Feed zu registrieren.

clientSourceDirectory

'./client/'

Verzeichnis der Client Sourcen

clientDistDirectory

'./client/dist/'

Verzeichnis des gebauten Client Distribution Paketes.

serverProjects

-- (Kein Default Wert)

Beispiel: '**/Project.WebAPI.csproj'

Pfad zu(m) Server .csproj Projekt(en). Syntax Siehe File matching patterns reference - Azure Pipelines

serverwwwRootDirectory

-- (Kein Default Wert)

Beispiel: './server/src/apps/Project.WebAPI/wwwroot/'

Verzeichnis im Server Project für wwwroot

serverNugetConfigPath

'./server/nuget.config'

Pfad zur Konfiguration der Nuget Feeds.

versionMajor

-- (Kein Default Wert)

Major Version die gesetzt werden soll. Wenn kein Wert angegeben wird, dann bleibt die Major Version unverändert.

versionMinor

Jahr (YY) des aktuellen Datums

Minor Version die gesetzt werden soll.

Der Default wird immer benutzt. Es muss mit einem expliziten anderen Wert überschrieben werden um das zu ändern. Ansonsten wird die Version dem Default entsprechend hochgezählt.

versionPatch

Tag (DDMM) des aktuellen Datums

Patch Version die gesetzt werden soll.

Der Default wird immer benutzt. Es muss mit einem expliziten anderen Wert überschrieben werden um das zu ändern. Ansonsten wird die Version dem Default entsprechend hochgezählt.

versionBuild

Zähler der Builds am aktuellen Datum

Build Version die gesetzt werden soll.

Der Default wird immer benutzt. Es muss mit einem expliziten anderen Wert überschrieben werden um das zu ändern. Ansonsten wird die Version dem Default entsprechend hochgezählt.

pathtoPublish

'./server/out/publish/

Pfad an dem die Pakete auf dem Agent publiziert werden sollen.

publishAdditionalArguments

-- (Kein Default Wert)

Beispiel '--self-contained true --runtime win7-x86'

Der publish Befehl wird mit den folgenden Argumenten ausgeführt: --configuration Release --output ${{ parameters.pathtoPublish }} --no-restore --no-build Wenn weitere Einstellungen notwendig sind, dann können diese zusätzlich mit übergeben werden.