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
151 lines
6.0 KiB
YAML
151 lines
6.0 KiB
YAML
trigger:
|
|
- master
|
|
- release/*
|
|
|
|
variables:
|
|
DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true
|
|
IsDevBuild: $[startsWith(variables['Build.SourceBranch'], 'refs/pull/')]
|
|
UploadCentronArtifacts: $[or(startsWith(variables['Build.SourceBranch'], 'refs/heads/master'), startsWith(variables['Build.SourceBranch'], 'refs/heads/release/'))]
|
|
|
|
pool: Default
|
|
|
|
steps:
|
|
- task: DownloadSecureFile@1
|
|
name: codeSigningCertificate
|
|
displayName: 'Download Code Signing Certificate'
|
|
inputs:
|
|
secureFile: 'c-entron code signing certificate.pfx'
|
|
|
|
- script: 'dotnet run --project "./scripts/Centron.Scripts/Centron.Scripts.csproj" -- setup-versioning 2>&1'
|
|
displayName: 'Setup Versioning'
|
|
env:
|
|
CENTRON_BUILD_IS_DEV_BUILD: $(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"
|
|
displayName: 'Set Azure DevOps Build Version'
|
|
workingDirectory: '"./deployment/centron"'
|
|
|
|
- script: 'dotnet run --project "./scripts/Centron.Scripts/Centron.Scripts.csproj" -- build-installer create-nuget-packages end-to-end-tests 2>&1'
|
|
displayName: Build
|
|
env:
|
|
CENTRON_BUILD_RUNNING_IN_AZURE_PIPELINE: true
|
|
CENTRON_BUILD_IS_DEV_BUILD: $(IsDevBuild)
|
|
CENTRON_BUILD_CODE_SIGNING_CERTIFICATE: $(codeSigningCertificate.secureFilePath)
|
|
CENTRON_BUILD_CODE_SIGNING_CERTIFICATE_PASSWORD: $(codeSigningCertificatePassword)
|
|
|
|
- task: PublishTestResults@2
|
|
displayName: 'Publish Test: c-entron EndToEnd Tests'
|
|
inputs:
|
|
testResultsFormat: VSTest
|
|
testResultsFiles: 'artifacts/EndToEndTests/TestResults.trx'
|
|
testRunTitle: 'c-entron EndToEnd Tests'
|
|
buildConfiguration: 'Release'
|
|
failTaskOnFailedTests: true
|
|
|
|
- task: NuGetCommand@2
|
|
condition: and(succeeded(), eq(variables.UploadCentronArtifacts, 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.UploadCentronArtifacts, 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.UploadCentronArtifacts, 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.UploadCentronArtifacts, 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'
|
|
|
|
- task: PublishPipelineArtifact@1
|
|
displayName: 'Upload Artifact: c-entron.NET Installer'
|
|
inputs:
|
|
targetPath: './artifacts/c-entron.NET Installer.zip'
|
|
artifactName: 'c-entron.NET Installer'
|
|
|
|
- task: razorspoint.rp-build-release-pnptasks.RP-PnPPowerShell.PnPPowerShell@3
|
|
condition: and(succeeded(), eq(variables.UploadCentronArtifacts, true))
|
|
displayName: 'Deploy Artifact: c-entron.NET Installer'
|
|
continueOnError: true
|
|
inputs:
|
|
SharePointVersion: SpOnline
|
|
sharepointConntection: 'Software Builds - SharePoint'
|
|
FileOrInline: Inline
|
|
RequiredVersion: '3.23.2007.1'
|
|
PnPPowerShellInline: |
|
|
cd deployment/centron;
|
|
$version = [Version][string] (& "$env:BUILD_SOURCESDIRECTORY\dotnettools\nbgv.exe" get-version -v Version 2>&1)
|
|
$mainVersion = $version.ToString(3)
|
|
$file = Add-PnpFile -Folder "/Shared Documents/c-entron.NET/v$mainVersion/v$version" -Path "..\..\artifacts\c-entron.NET Installer.zip"
|
|
|
|
- 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: razorspoint.rp-build-release-pnptasks.RP-PnPPowerShell.PnPPowerShell@3
|
|
condition: and(succeeded(), eq(variables.UploadCentronArtifacts, true))
|
|
displayName: 'Deploy Artifact: c-entron Web-Service Installer'
|
|
continueOnError: true
|
|
inputs:
|
|
SharePointVersion: SpOnline
|
|
sharepointConntection: 'Software Builds - SharePoint'
|
|
FileOrInline: Inline
|
|
RequiredVersion: '3.23.2007.1'
|
|
PnPPowerShellInline: |
|
|
cd deployment/centron;
|
|
$version = [Version][string] (& "$env:BUILD_SOURCESDIRECTORY\dotnettools\nbgv.exe" get-version -v Version 2>&1)
|
|
$mainVersion = $version.ToString(3)
|
|
$file = Add-PnpFile -Folder "/Shared Documents/c-entron Web-Service/v$mainVersion/v$version" -Path "..\..\artifacts\c-entron Web-Service Installer.zip"
|
|
|
|
- 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' |