Files
Christoph Schwörer f045b99a25 Codebasis als Dateien ins Arbeitsrepo statt als Gitlink
QuellCode/CentronERP war nur als Gitlink (Submodul-Referenz auf 79c1142)
getrackt, ohne .gitmodules und ohne erreichbares Remote. Der
Untersuchungsgegenstand der Versuchsreihe war damit nicht reproduzierbar
gesichert: Ein Klon haette ein leeres Verzeichnis erhalten, und die Belege
der 3.287 Anforderungen waeren nicht ueberpruefbar gewesen.

Umstellung:
- Historie nach c:\DEV\CentronERP_git_snapshot_79c1142 ausgelagert
  (vollstaendig lesbar, enthaelt 79c1142 und Vorgaenger 89ccfd6)
- Gitlink aus dem Index entfernt
- Dateiinhalt aufgenommen: 24.557 Dateien, rund 333 MB

Die verschachtelte .gitignore der Codebasis gilt weiter, Build-Artefakte
bleiben ausgeschlossen. Details in Versuche/Versuch_01/_Codebasis-Nachweis.md
2026-08-26 07:43:51 +02:00

136 lines
4.9 KiB
YAML

trigger:
- master
- releases/*
pool: QuickTest
strategy:
matrix:
default:
NAME: default
version2:
NAME: version2
views:
NAME: views
resources:
containers:
- container: db
endpoint: CentronACR
image: centron.azurecr.io/centron_db/$(NAME):0213def19b183ffb83ce9649468ad914384c0bcb
env:
MSSQL_SA_PASSWORD: SA!password
ports:
- 1433:1433
options: --name db
- container: smtp
endpoint: CentronACR
image: centron.azurecr.io/mailcatcher:latest
ports:
- 1025:1025
- 1080:1080
options: --name centron-smtp-1
- container: webservice
endpoint: CentronACR
image: centron.azurecr.io/centron_webservice:latest
env:
HARDWARE_ID: LinuxV1.ZDhiZjhiZjgtMjIwNS00MWQ1LThiMGEtMjM2ZjZhMzc2MGMz
WEBSERVICE_CONFIG: '<?xml version="1.0" encoding="utf-8"?>
<WebServiceConfig>
<WebServiceAddress>http://localhost:1234/CentronService</WebServiceAddress>
<PublicWebServiceAddress></PublicWebServiceAddress>
<WebServiceCertificateFilePath></WebServiceCertificateFilePath>
<WebServiceCertificatePassword></WebServiceCertificatePassword>
<ActiveDirectoryAuthEnabled>false</ActiveDirectoryAuthEnabled>
<ActiveDirectoryUrl></ActiveDirectoryUrl>
<ActiveDirectoryName></ActiveDirectoryName>
<ActiveDirectoryCertificateHash></ActiveDirectoryCertificateHash>
<DatabaseConnectionString>
</DatabaseConnectionString>
<DatabaseConnectionStringPlain>
Server=db,1433; Database=Centron; User Id=SA; Password=SA!password
</DatabaseConnectionStringPlain>
<UseIncreasedThreadPool>true</UseIncreasedThreadPool>
<ActivateHelpPage>false</ActivateHelpPage>
<ExecuteServices>false</ExecuteServices>
<ProxyAddress></ProxyAddress>
<ProxyPort />
<ProxyUsername />
<ProxyPassword></ProxyPassword>
<TwoFactorAuthEnabled>false</TwoFactorAuthEnabled>
<TwoFactorAuthType>RadiusServer</TwoFactorAuthType>
<RadiusServerAddress></RadiusServerAddress>
<RadiusServerSecret></RadiusServerSecret>
<RadiusServerConnectionTimeoutInSeconds>30</RadiusServerConnectionTimeoutInSeconds>
<RadiusServerNasIdentifier></RadiusServerNasIdentifier>
<RadiusServerNasIpAddress></RadiusServerNasIpAddress>
<MailTwoFactorAuthSenderAddress></MailTwoFactorAuthSenderAddress>
<MailTwoFactorAuthTimeoutInSeconds>120</MailTwoFactorAuthTimeoutInSeconds>
<TwoFactorValidDurationInDays>0</TwoFactorValidDurationInDays>
<SecretKey>ThisIsASecretKey</SecretKey>
</WebServiceConfig>'
command: sh -c "sleep 75;echo $WEBSERVICE_CONFIG > /app/WebServiceConfig.xml;/app/Centron.Host.Console"
ports:
- "1234:1234"
options: --name webservice
services:
db: db
centron-smtp-1: smtp
webservice: webservice
steps:
- checkout: self
fetchDepth: 0
- script: 'dotnet build "./src/nexus/CentronNexus.Host/CentronNexus.Host.csproj"'
displayName: Build Nexus
- script: >
dotnet run --project "./src/nexus/CentronNexus.Host/CentronNexus.Host.csproj" > nexus_logs_$(NAME).txt 2>&1 &
echo "##vso[task.setvariable variable=NexusPID;]$!"
displayName: Run Nexus
- script: 'dotnet build "./tests/PlaywrightTests/PlaywrightTests.csproj"'
displayName: 'Build playwright tests'
- script: './tests/PlaywrightTests/bin/Debug/net8.0/playwright.ps1 install'
displayName: 'Install playwright tests'
- script: >
dotnet test "./tests/PlaywrightTests/PlaywrightTests.csproj"
--filter TestCategory=$(NAME)
--logger "trx;LogFileName=TestResults.trx"
--results-directory "artifacts/tests/playwright/"
displayName: 'Run playwright tests'
- publish: ./tests/PlaywrightTests/bin/Debug/net8.0/playwright-traces/
artifact: traces_$(NAME)_$(System.JobAttempt)
displayName: 'Publish playwright test traces'
condition: always()
- task: PublishTestResults@2
displayName: 'Publish playwright test results'
condition: always()
inputs:
testResultsFormat: VSTest
testResultsFiles: 'artifacts/tests/playwright/TestResults.trx'
testRunTitle: 'Playwright Tests'
buildConfiguration: 'Release'
failTaskOnFailedTests: true
- script: 'kill $(NexusPID) || true'
displayName: Cleanup Nexus process
condition: always()
continueOnError: true
- publish: nexus_logs_$(NAME).txt
artifact: nexus_$(NAME)_$(System.JobAttempt)
displayName: Publish Nexus logs
condition: always()
continueOnError: true
- script: docker container logs webservice > webservice_logs_$(NAME).txt || true
displayName: Get webservice logs
condition: always()
- publish: webservice_logs_$(NAME).txt
artifact: webservice_$(NAME)_$(System.JobAttempt)
displayName: Publish webservice logs
condition: always()
continueOnError: true
- script: docker image prune -f --filter "dangling=true"
displayName: Cleanup dangling images
condition: always()
continueOnError: true