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
This commit is contained in:
Christoph Schwörer
2026-08-26 07:43:51 +02:00
parent 18edae75b6
commit f045b99a25
24664 changed files with 5846716 additions and 1 deletions
@@ -0,0 +1,59 @@
# Template for Centron.NET build, signing, and installer creation
parameters:
- name: isDevBuild
type: string
steps:
- script: 'dotnet run --project "./scripts/Centron.Scripts/Centron.Scripts.csproj" -- build-centron-net-only 2>&1'
displayName: Build Centron.Net
env:
CENTRON_BUILD_RUNNING_IN_AZURE_PIPELINE: true
CENTRON_BUILD_IS_DEV_BUILD: ${{ parameters.isDevBuild }}
- task: TrustedSigning@0
displayName: Signing Centron.Net
inputs:
AzureTenantID: $(AzureTenantID)
AzureClientID: $(AzureClientID)
AzureClientSecret: $(AzureClientSecret)
AzureClientSendCertificateChain: false
Endpoint: 'https://weu.codesigning.azure.net/'
TrustedSigningAccountName: 'CentronCodesigning'
CertificateProfileName: 'centroncert'
FileDigest: 'SHA256'
Files: |
$(Build.SourcesDirectory)\src\centron\Centron.WPF.UI\bin\Release\net10.0-windows\win-x64\publish\c-entron 2.0.exe
$(Build.SourcesDirectory)\src\centron\Centron.WPF.UI\bin\Release\net10.0-windows\win-x64\publish\c-entron 2.0.dll
- script: 'dotnet run --project "./scripts/Centron.Scripts/Centron.Scripts.csproj" -- set-dependencies-centron-net 2>&1'
displayName: Set Centron.Net Dependencies
env:
CENTRON_BUILD_RUNNING_IN_AZURE_PIPELINE: true
CENTRON_BUILD_IS_DEV_BUILD: ${{ parameters.isDevBuild }}
- script: 'dotnet run --project "./scripts/Centron.Scripts/Centron.Scripts.csproj" -- build-centron-net-installer-only 2>&1'
displayName: Build Centron.Net Installer
env:
CENTRON_BUILD_RUNNING_IN_AZURE_PIPELINE: true
CENTRON_BUILD_IS_DEV_BUILD: ${{ parameters.isDevBuild }}
- task: TrustedSigning@0
displayName: Signing Centron.Net Installer
inputs:
AzureTenantID: $(AzureTenantID)
AzureClientID: $(AzureClientID)
AzureClientSecret: $(AzureClientSecret)
AzureClientSendCertificateChain: false
Endpoint: 'https://weu.codesigning.azure.net/'
TrustedSigningAccountName: 'CentronCodesigning'
CertificateProfileName: 'centroncert'
FileDigest: 'SHA256'
FilesFolder: '$(Build.SourcesDirectory)\deployment\centron\CentronSetupProject\bin\Release'
FilesFolderFilter: 'exe,dll,msi'
FilesFolderRecurse: true
- script: 'dotnet run --project "./scripts/Centron.Scripts/Centron.Scripts.csproj" -- set-zip-directory-centron-net 2>&1'
displayName: Set Centron.Net Zip-Directory
env:
CENTRON_BUILD_RUNNING_IN_AZURE_PIPELINE: true
CENTRON_BUILD_IS_DEV_BUILD: ${{ parameters.isDevBuild }}
@@ -0,0 +1,55 @@
steps:
- script: 'dotnet run --project "./scripts/Scripts/Scripts.csproj" -- build-nexus 2>&1'
displayName: Build Nexus
- task: TrustedSigning@0
displayName: Signing Nexus
inputs:
AzureTenantID: $(AzureTenantID)
AzureClientID: $(AzureClientID)
AzureClientSecret: $(AzureClientSecret)
AzureClientSendCertificateChain: false
Endpoint: 'https://weu.codesigning.azure.net/'
TrustedSigningAccountName: 'CentronCodesigning'
CertificateProfileName: 'centroncert'
FileDigest: 'SHA256'
Files: |
$(Build.SourcesDirectory)\src\nexus\CentronNexus.Host\bin\Release\net10.0\win-x64\publish\CentronNexus.Host.exe
$(Build.SourcesDirectory)\src\nexus\CentronNexus.Host\bin\Release\net10.0\win-x64\publish\CentronNexus.Host.dll
$(Build.SourcesDirectory)\src\nexus\CentronNexus.Host\bin\Release\net10.0\win-x64\publish\CentronNexus.dll
$(Build.SourcesDirectory)\src\nexus\CentronNexus.Host\bin\Release\net10.0\win-x64\publish\CentronNexus.OutlookAddIn.dll
$(Build.SourcesDirectory)\src\nexus\CentronNexus.Host\bin\Release\net10.0\win-x64\publish\Centron.Core.dll
$(Build.SourcesDirectory)\src\nexus\CentronNexus.Host\bin\Release\net10.0\win-x64\publish\Centron.WebServices.Core.dll
$(Build.SourcesDirectory)\src\nexus\CentronNexus.Host\bin\Release\net10.0\win-x64\publish\Centron.Interfaces.dll
$(Build.SourcesDirectory)\src\nexus\CentronNexus.Host\bin\Release\net10.0\win-x64\publish\Centron.Office.Client.dll
- script: 'dotnet run --project "./scripts/Scripts/Scripts.csproj" -- zip-nexus-directory 2>&1'
displayName: Set Nexus Zip-Directory
- script: 'dotnet tool update --global wix --version "5.0.2" --allow-downgrade || dotnet tool install --global wix --version "5.0.2"'
displayName: Install WiX Toolset 5.x (WixSharp 2.x compatible)
- script: 'wix extension add -g WixToolset.UI.wixext/5.0.2'
displayName: Install WiX UI Extension 5.x
- script: 'dotnet run --project "./scripts/Scripts/Scripts.csproj" -- build-nexus-installer 2>&1'
displayName: Build Nexus Installer
- task: TrustedSigning@0
displayName: Signing Nexus
inputs:
AzureTenantID: $(AzureTenantID)
AzureClientID: $(AzureClientID)
AzureClientSecret: $(AzureClientSecret)
AzureClientSendCertificateChain: false
Endpoint: 'https://weu.codesigning.azure.net/'
TrustedSigningAccountName: 'CentronCodesigning'
CertificateProfileName: 'centroncert'
FileDigest: 'SHA256'
Files: $(Build.SourcesDirectory)\deployment\WixSharpInstaller\bin\Release\net10.0-windows\c-entron Nexus.msi
- script: 'dotnet run --project "./scripts/Scripts/Scripts.csproj" -- zip-nexus-singleFile 2>&1'
displayName: Zip Nexus Installer
@@ -0,0 +1,64 @@
# Template for Web Service build, signing, and installer creation
parameters:
- name: isDevBuild
type: string
steps:
- script: 'dotnet run --project "./scripts/Centron.Scripts/Centron.Scripts.csproj" -- build-web-service-only 2>&1'
displayName: Build Web-Service
env:
CENTRON_BUILD_RUNNING_IN_AZURE_PIPELINE: true
CENTRON_BUILD_IS_DEV_BUILD: ${{ parameters.isDevBuild }}
- task: TrustedSigning@0
displayName: Signing Web-Service
inputs:
AzureTenantID: $(AzureTenantID)
AzureClientID: $(AzureClientID)
AzureClientSecret: $(AzureClientSecret)
AzureClientSendCertificateChain: false
Endpoint: 'https://weu.codesigning.azure.net/'
TrustedSigningAccountName: 'CentronCodesigning'
CertificateProfileName: 'centroncert'
FileDigest: 'SHA256'
Files: |
$(Build.SourcesDirectory)\src\webservice\Centron.Host.WindowsService\bin\Release\net10.0-windows\win-x64\publish\Centron.Host.WindowsService.exe
$(Build.SourcesDirectory)\src\webservice\Centron.Host.WindowsService\bin\Release\net10.0-windows\win-x64\publish\Centron.Host.WindowsService.dll
$(Build.SourcesDirectory)\src\webservice\Centron.Host.WindowsService\bin\Release\net10.0-windows\win-x64\publish\ConnectionManager\c-entron Connection Manager.exe
$(Build.SourcesDirectory)\src\webservice\Centron.Host.WindowsService\bin\Release\net10.0-windows\win-x64\publish\ConnectionManager\c-entron Connection Manager.dll
$(Build.SourcesDirectory)\src\webservice\Centron.Host.WindowsService\bin\Release\net10.0-windows\win-x64\publish\Centron.Interfaces.dll
$(Build.SourcesDirectory)\src\webservice\Centron.Host.WindowsService\bin\Release\net10.0-windows\win-x64\publish\Centron.WebServices.Core.dll
$(Build.SourcesDirectory)\src\webservice\Centron.Host.WindowsService\bin\Release\net10.0-windows\win-x64\publish\Centron.Core.dll
- script: 'dotnet run --project "./scripts/Centron.Scripts/Centron.Scripts.csproj" -- set-dependencies-web-service 2>&1'
displayName: Set Web-Service Dependencies
env:
CENTRON_BUILD_RUNNING_IN_AZURE_PIPELINE: true
CENTRON_BUILD_IS_DEV_BUILD: ${{ parameters.isDevBuild }}
- script: 'dotnet run --project "./scripts/Centron.Scripts/Centron.Scripts.csproj" -- build-web-service-installer-only 2>&1'
displayName: Build Web-Service Installer
env:
CENTRON_BUILD_RUNNING_IN_AZURE_PIPELINE: true
CENTRON_BUILD_IS_DEV_BUILD: ${{ parameters.isDevBuild }}
- task: TrustedSigning@0
displayName: Signing Web-Service Installer
inputs:
AzureTenantID: $(AzureTenantID)
AzureClientID: $(AzureClientID)
AzureClientSecret: $(AzureClientSecret)
AzureClientSendCertificateChain: false
Endpoint: 'https://weu.codesigning.azure.net/'
TrustedSigningAccountName: 'CentronCodesigning'
CertificateProfileName: 'centroncert'
FileDigest: 'SHA256'
FilesFolder: '$(Build.SourcesDirectory)\deployment\centron\WebServiceSetupProject\bin\Release'
FilesFolderFilter: 'exe,dll,msi'
FilesFolderRecurse: true
- script: 'dotnet run --project "./scripts/Centron.Scripts/Centron.Scripts.csproj" -- set-zip-directory-web-service 2>&1'
displayName: Set Web-Service Zip-Directory
env:
CENTRON_BUILD_RUNNING_IN_AZURE_PIPELINE: true
CENTRON_BUILD_IS_DEV_BUILD: ${{ parameters.isDevBuild }}
@@ -0,0 +1,46 @@
# Template for deploying artifacts to NuGet, Azure Pipelines, and SharePoint
steps:
# NuGet Package Deployments
- task: NuGetCommand@2
condition: and(succeeded(), eq(variables['set_upload_flag.ShouldUpload'], 'true'))
displayName: 'Deploy Artifact: Centron.WebServices.Core Nuget Package (NuGet)'
continueOnError: true
inputs:
command: push
nuGetFeedType: external
publishFeedCredentials: 'c-entron NuGet Server'
allowPackageConflicts: true
packagesToPush: 'artifacts/nuget/Centron.WebServices.Core.*.nupkg'
- task: NuGetCommand@2
condition: and(succeeded(), eq(variables['set_upload_flag.ShouldUpload'], 'true'))
displayName: 'Deploy Artifact: Centron.Interfaces Nuget Package (NuGet)'
continueOnError: true
inputs:
command: push
nuGetFeedType: external
publishFeedCredentials: 'c-entron NuGet Server'
allowPackageConflicts: true
packagesToPush: 'artifacts/nuget/Centron.Interfaces.*.nupkg'
- task: NuGetCommand@2
condition: and(succeeded(), eq(variables['set_upload_flag.ShouldUpload'], 'true'))
displayName: 'Deploy Artifact: Centron.Core Nuget Package (NuGet)'
continueOnError: true
inputs:
command: push
nuGetFeedType: external
publishFeedCredentials: 'c-entron NuGet Server'
allowPackageConflicts: true
packagesToPush: 'artifacts/nuget/Centron.Core.*.nupkg'
- task: NuGetCommand@2
condition: and(succeeded(), eq(variables['set_upload_flag.ShouldUpload'], 'true'))
displayName: 'Deploy Artifact: Centron.Controls Nuget Package (NuGet)'
continueOnError: true
inputs:
command: push
nuGetFeedType: external
publishFeedCredentials: 'c-entron NuGet Server'
allowPackageConflicts: true
packagesToPush: 'artifacts/nuget/Centron.Controls.*.nupkg'
@@ -0,0 +1,45 @@
steps:
# SharePoint Deployments
- task: razorspoint.rp-build-release-pnptasks.RP-PnPPowerShell.PnPPowerShell@3
displayName: 'Deploy Artifact: c-entron.NET Installer (SharePoint)'
condition: and(succeeded(), eq(variables['set_upload_flag.ShouldUpload'], 'true'))
continueOnError: true
inputs:
SharePointVersion: SpOnline
sharepointConntection: 'Software Builds - SharePoint'
FileOrInline: Inline
RequiredVersion: '3.23.2007.1'
PnPPowerShellInline: |
$versionTemp = [Version]"$(version)"
$mainVersion = $versionTemp.ToString(3)
$file = Add-PnpFile -Folder "/Shared Documents/c-entron.NET/v$mainVersion/v$versionTemp" -Path "artifacts\c-entron.NET Installer.zip"
- task: razorspoint.rp-build-release-pnptasks.RP-PnPPowerShell.PnPPowerShell@3
displayName: 'Deploy Artifact: c-entron Web-Service Installer (SharePoint)'
condition: and(succeeded(), eq(variables['set_upload_flag.ShouldUpload'], 'true'))
continueOnError: true
inputs:
SharePointVersion: SpOnline
sharepointConntection: 'Software Builds - SharePoint'
FileOrInline: Inline
RequiredVersion: '3.23.2007.1'
PnPPowerShellInline: |
$versionTemp = [Version]"$(version)"
$mainVersion = $versionTemp.ToString(3)
$file = Add-PnpFile -Folder "/Shared Documents/c-entron Web-Service/v$mainVersion/v$versionTemp" -Path "artifacts\c-entron Web-Service Installer.zip"
- task: razorspoint.rp-build-release-pnptasks.RP-PnPPowerShell.PnPPowerShell@3
condition: and(succeeded(), eq(variables['set_upload_flag.ShouldUpload'], 'true'))
displayName: 'Upload Artifact to SharePoint: c-entron Nexus'
continueOnError: true
inputs:
SharePointVersion: SpOnline
sharepointConntection: 'Software Builds - SharePoint'
FileOrInline: Inline
RequiredVersion: '3.23.2007.1'
PnPPowerShellInline: |
$versionTemp = [Version]"$(version)"
$mainVersion = $versionTemp.ToString(3)
$file = Add-PnpFile -Folder "/Shared Documents/c-entron Nexus/v$mainVersion/v$versionTemp" -Path "artifacts\c-entron Nexus Installer.zip"
@@ -0,0 +1,37 @@
steps:
# Azure Pipeline Artifacts
- task: PublishPipelineArtifact@1
displayName: 'Upload Artifact: c-entron.NET Installer'
inputs:
targetPath: './artifacts/c-entron.NET Installer.zip'
artifactName: 'c-entron.NET Installer'
- task: PublishPipelineArtifact@1
displayName: 'Upload Artifact: c-entron Web-Service Installer'
inputs:
targetPath: './artifacts/c-entron Web-Service Installer.zip'
artifactName: 'c-entron Web-Service Installer'
- task: PublishPipelineArtifact@1
displayName: 'Upload Artifact: c-entron Web-Service Dependencies'
inputs:
targetPath: './artifacts/c-entron Web-Service Dependencies.txt'
artifactName: 'c-entron Web-Service Dependencies'
- task: PublishPipelineArtifact@1
displayName: 'Upload Artifact: c-entron.NET Dependencies'
inputs:
targetPath: './artifacts/c-entron.NET Dependencies.txt'
artifactName: 'c-entron.NET Dependencies'
- task: PublishPipelineArtifact@1
displayName: 'Upload Artifact: Nuget Packages'
inputs:
targetPath: './artifacts/nuget'
artifactName: 'Nuget Packages'
- task: PublishPipelineArtifact@1
displayName: 'Upload Artifact to Azure Pipelines: c-entron Nexus'
inputs:
targetPath: './artifacts/c-entron Nexus Installer.zip'
artifactName: 'c-entron Nexus Installer'
@@ -0,0 +1,24 @@
# Template for versioning setup and build number configuration
parameters:
- name: isDevBuild
type: string
steps:
- script: 'dotnet run --project "./scripts/Centron.Scripts/Centron.Scripts.csproj" -- setup-versioning 2>&1'
displayName: 'Setup Versioning'
env:
CENTRON_BUILD_IS_DEV_BUILD: ${{ parameters.isDevBuild }}
- powershell: |
$versionNumber = [Version][string] (& "$env:BUILD_SOURCESDIRECTORY\dotnettools\nbgv.exe" get-version -v Version 2>&1);
$isPullRequestBuild = $env:BUILD_REASON -eq 'PullRequest';
$version = if ($isPullRequestBuild) { "$versionNumber (PR)" } else { "$versionNumber" };
Write-Host "##vso[build.updatebuildnumber]$version"
Write-Host "##vso[task.setvariable variable=version]$versionNumber"
displayName: 'Set Azure DevOps Build Version'
- script: 'dotnet run --project "./scripts/Centron.Scripts/Centron.Scripts.csproj" -- create-nuget-packages 2>&1'
displayName: Clean and set Version and create Nuget-Packages
env:
CENTRON_BUILD_RUNNING_IN_AZURE_PIPELINE: true
CENTRON_BUILD_IS_DEV_BUILD: ${{ parameters.isDevBuild }}