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
90 lines
3.6 KiB
YAML
90 lines
3.6 KiB
YAML
trigger:
|
|
- master
|
|
- release/*
|
|
|
|
variables:
|
|
DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true
|
|
UploadCentronArtifacts: $[or(startsWith(variables['Build.SourceBranch'], 'refs/heads/master'), startsWith(variables['Build.SourceBranch'], 'refs/heads/release/'))]
|
|
|
|
pool: Default
|
|
|
|
steps:
|
|
- checkout: self
|
|
fetchDepth: 0
|
|
|
|
- script: 'dotnet run --project "./scripts/Scripts/Scripts.csproj" -- clean 2>&1'
|
|
displayName: Clean
|
|
|
|
- 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\bin\Release\net8.0\win-x64\publish\CentronNexus.dll
|
|
$(Build.SourcesDirectory)\src\nexus\CentronNexus\bin\Release\net8.0\win-x64\publish\CentronNexus.exe
|
|
|
|
- script: 'dotnet run --project "./scripts/Scripts/Scripts.csproj" -- zip-nexus-directory 2>&1'
|
|
displayName: Set Nexus Zip-Directory
|
|
|
|
- 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\net472\c-entron Nexus.msi
|
|
|
|
- script: 'dotnet run --project "./scripts/Scripts/Scripts.csproj" -- zip-nexus-singleFile 2>&1'
|
|
displayName: Zip Nexus Installer
|
|
|
|
- script: 'dotnet run --project "./scripts/Scripts/Scripts.csproj" -- test-only 2>&1'
|
|
displayName: Test Nexus
|
|
|
|
- task: PublishTestResults@2
|
|
displayName: 'Publish Test: c-entron Nexus Tests'
|
|
inputs:
|
|
testResultsFormat: VSTest
|
|
testResultsFiles: 'artifacts/TestResults.trx'
|
|
testRunTitle: 'c-entron Nexus Tests'
|
|
buildConfiguration: 'Release'
|
|
failTaskOnFailedTests: true
|
|
|
|
- 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'
|
|
|
|
- task: razorspoint.rp-build-release-pnptasks.RP-PnPPowerShell.PnPPowerShell@3
|
|
condition: and(succeeded(), eq(variables.UploadCentronArtifacts, 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: |
|
|
$centronNexusDllFilePath = "$env:BUILD_SOURCESDIRECTORY\deployment\WixSharpInstaller\Files\CentronNexus.dll"
|
|
$version = [Version][System.Diagnostics.FileVersionInfo]::GetVersionInfo($centronNexusDllFilePath).FileVersion
|
|
$mainVersion = $version.ToString(3)
|
|
$file = Add-PnpFile -Folder "/Shared Documents/c-entron Nexus/v$mainVersion/v$version" -Path "artifacts\c-entron Nexus Installer.zip"
|