228 lines
9.1 KiB
YAML
228 lines
9.1 KiB
YAML
trigger:
|
|
branches:
|
|
include:
|
|
- Development
|
|
paths:
|
|
include:
|
|
- "Server/*"
|
|
- "Shared/*"
|
|
- "Tests/*"
|
|
exclude:
|
|
- "**/*.yaml"
|
|
- "**/*.yml"
|
|
- "Archive/*"
|
|
- "Client/*"
|
|
- "ClientHub/*"
|
|
|
|
pool:
|
|
name: Mesa-Windows-Service
|
|
demands: OI-Metrology-Server-Development
|
|
|
|
variables:
|
|
# solution: '**/*.sln'
|
|
# buildPlatform: 'Any CPU'
|
|
buildConfiguration: "Debug"
|
|
ASPNETCORE_ENVIRONMENT: "Development"
|
|
|
|
steps:
|
|
- script: |
|
|
set exeName=OI.Metrology.Server
|
|
echo %exeName%
|
|
echo ##vso[task.setvariable variable=ExeName;]%exeName%
|
|
echo $(ExeName)
|
|
displayName: ExeName
|
|
|
|
- script: |
|
|
set coreVersion=net7.0
|
|
echo %coreVersion%
|
|
echo ##vso[task.setvariable variable=CoreVersion;]%coreVersion%
|
|
echo $(CoreVersion)
|
|
displayName: CoreVersion
|
|
|
|
- script: |
|
|
set configuration=Debug
|
|
echo %configuration%
|
|
echo ##vso[task.setvariable variable=Configuration;]%configuration%
|
|
echo ($Configuration)
|
|
displayName: Configuration
|
|
|
|
- script: |
|
|
set nugetSource=https://messa017.infineon.com/v3/index.json
|
|
echo %nugetSource%
|
|
echo ##vso[task.setvariable variable=NugetSource;]%nugetSource%
|
|
echo $(NugetSource)
|
|
displayName: NugetSource
|
|
|
|
- script: |
|
|
set gitCommit=$(Build.SourceVersion)
|
|
set gitCommitSeven=%gitCommit:~0,7%
|
|
echo %gitCommitSeven%
|
|
echo ##vso[task.setvariable variable=GitCommitSeven;]%gitCommitSeven%
|
|
echo $(GitCommitSeven)
|
|
displayName: GitCommitSeven
|
|
|
|
- script: |
|
|
echo $(Build.BuildId)
|
|
echo $(Build.Reason)
|
|
echo $(Build.Repository.Id)
|
|
echo $(Build.Repository.Name)
|
|
echo $(Build.SourceVersion)
|
|
echo $(CoreVersion)
|
|
echo $(Configuration)
|
|
echo $(NugetSource)
|
|
echo $(GitCommitSeven)
|
|
REM echo $(pipelinePassword)
|
|
displayName: "Echo Check"
|
|
|
|
- script: '"C:\program files\dotnet\dotnet.exe" nuget locals all --clear'
|
|
displayName: "Nuget Clear"
|
|
enabled: false
|
|
|
|
- script: |
|
|
"C:\program files\dotnet\dotnet.exe" user-secrets init
|
|
"C:\program files\dotnet\dotnet.exe" user-secrets set "BuildNumber" "$(Build.BuildId)"
|
|
"C:\program files\dotnet\dotnet.exe" user-secrets set "GitCommitSeven" "$(GitCommitSeven)"
|
|
"C:\program files\dotnet\dotnet.exe" user-secrets list
|
|
workingDirectory: Server
|
|
displayName: "Safe storage of app secrets - Server"
|
|
|
|
- script: |
|
|
"C:\program files\dotnet\dotnet.exe" user-secrets set "IsDevelopment" true
|
|
"C:\program files\dotnet\dotnet.exe" user-secrets set "MockRoot" "/Data/Tests"
|
|
"C:\program files\dotnet\dotnet.exe" user-secrets set "URLs" "http://localhost:5002;"
|
|
"C:\program files\dotnet\dotnet.exe" user-secrets set "MonAResource" "OI_Metrology_Viewer_IFX"
|
|
"C:\program files\dotnet\dotnet.exe" user-secrets set "ApiExportPath" "\\messdv002.na.infineon.com\Candela\Archive\API"
|
|
"C:\program files\dotnet\dotnet.exe" user-secrets set "ConnectionString" "Data Source=MESSAD1001\TEST1,59583;Integrated Security=True;Initial Catalog=Metrology;"
|
|
"C:\program files\dotnet\dotnet.exe" user-secrets set "Oi2SqlConnectionString" "Data Source=MESSAD1001\TEST1,59583;Initial Catalog=LSL2SQL;Persist Security Info=True;User ID=srpadmin;Password=0okm9ijn;"
|
|
workingDirectory: Server
|
|
displayName: "Safe storage of app secrets II - Server"
|
|
|
|
- script: '"C:\program files\dotnet\dotnet.exe" build --configuration $(Configuration) --source $(NugetSource)'
|
|
workingDirectory: Tests
|
|
displayName: "Core Build - Tests"
|
|
|
|
- script: '"C:\program files\dotnet\dotnet.exe" build --configuration $(Configuration) --source $(NugetSource)'
|
|
workingDirectory: Server
|
|
displayName: "Core Build - Server"
|
|
|
|
- powershell: Get-ChildItem .\ -include TestResults -Recurse | foreach ($_) { remove-item $_.fullname -Force -Recurse }
|
|
workingDirectory: "$(System.DefaultWorkingDirectory)/.vscode"
|
|
displayName: "PowerShell Script"
|
|
|
|
- script: "dotnet test --configuration $(Configuration)"
|
|
workingDirectory: Tests
|
|
displayName: "Core Test"
|
|
# enabled: false
|
|
|
|
- script: '"C:\program files\dotnet\dotnet.exe" tool restore'
|
|
workingDirectory: Server
|
|
displayName: "Tool Restore"
|
|
enabled: false
|
|
|
|
- script: '"C:\program files\dotnet\dotnet.exe" ReportGenerator -reports:.vscode/TestResults/*/coverage.cobertura.xml -targetDir:$(Build.ArtifactStagingDirectory)\Coverage -reportTypes:Html_Dark'
|
|
workingDirectory: Server
|
|
displayName: "Report Generator"
|
|
enabled: false
|
|
|
|
- task: PublishTestResults@2
|
|
displayName: "Publish Test Results **/*.trx"
|
|
inputs:
|
|
testResultsFormat: VSTest
|
|
testResultsFiles: "**/*.trx"
|
|
testRunTitle: "$(GitCommitSeven)-$(Build.BuildId)-$(CoreVersion)-$(Configuration)-$(Build.Repository.Name)"
|
|
searchFolder: "$(System.DefaultWorkingDirectory)/.vscode"
|
|
|
|
- task: PublishTestResults@2
|
|
displayName: "Publish Test Results **/coverage.cobertura.xml"
|
|
inputs:
|
|
testResultsFormat: VSTest
|
|
testResultsFiles: "**/coverage.cobertura.xml"
|
|
testRunTitle: "$(GitCommitSeven)-$(Build.BuildId)-$(CoreVersion)-$(Configuration)-$(Build.Repository.Name)"
|
|
searchFolder: "$(System.DefaultWorkingDirectory)/.vscode"
|
|
|
|
- task: mspremier.CreateWorkItem.CreateWorkItem-task.CreateWorkItem@1
|
|
displayName: "Create work item"
|
|
inputs:
|
|
teamProject: "Mesa_FI"
|
|
workItemType: Bug
|
|
title: $(GitCommitSeven)-$(Build.BuildId)-$(Build.Repository.Name)-$(Configuration)
|
|
assignedTo: "$(Build.RequestedForId)"
|
|
enabled: false
|
|
|
|
- script: '"C:\program files\dotnet\dotnet.exe" publish --configuration $(Configuration) --runtime win-x64 --self-contained -o $(Build.ArtifactStagingDirectory)\Server --source $(NugetSource)'
|
|
workingDirectory: Server
|
|
displayName: "Core Publish"
|
|
|
|
- task: CopyFiles@2
|
|
displayName: "Copy Files"
|
|
inputs:
|
|
SourceFolder: '$(Build.ArtifactStagingDirectory)\Server'
|
|
TargetFolder: 'D:\$(CoreVersion)\$(Build.Repository.Name)\$(GitCommitSeven)-$(Build.BuildId)-$(Build.Repository.Name)-$(Configuration)\Server'
|
|
|
|
- script: 'sc stop "$(Build.Repository.Name)-$(Configuration)"'
|
|
workingDirectory: Server
|
|
displayName: "Service Control - Stop"
|
|
continueOnError: true
|
|
|
|
- script: 'sc delete "$(Build.Repository.Name)-$(Configuration)"'
|
|
workingDirectory: Server
|
|
displayName: "Service Control - Delete"
|
|
continueOnError: true
|
|
|
|
- task: DownloadSecureFile@1
|
|
name: downloadSecureFileKDBX
|
|
displayName: "Download secure file"
|
|
inputs:
|
|
secureFile: "Infineon-NA.kdbx"
|
|
|
|
- script: echo "<$(downloadSecureFileKDBX.secureFilePath)>"
|
|
displayName: "Echo Path"
|
|
|
|
- powershell: |
|
|
$data = @('$(downloadSecureFileKDBX.secureFilePath)', '-c:GetEntryString', '-Field:Password', '-refx-UUID:A6302662940458499454E35D28FCC9F7', '-pw-enc:AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAAtBhT01pNnUGaN/uPLxZGvAAAAAACAAAAAAADZgAAwAAAABAAAAAM4xlYguhv7jzchU8dq9pVAAAAAASAAACgAAAAEAAAANS9rIoaYfNq5TwCmTrqElsgAAAA7O4J52FqCctXlCxYB2J5b/W4T+pZCN2zwFj7XCAFW6IUAAAAhQsBDOERAUZJdtSy8AfxwOAZflo=')
|
|
$data.count
|
|
$processStartInfo = New-Object System.Diagnostics.ProcessStartInfo
|
|
$processStartInfo.FileName = "C:\Users\meseafsvc\AppData\Local\IFXApps\KeePass-2.51.1---KPScript-2.51.1\KPScript.exe"
|
|
$processStartInfo.RedirectStandardError = $true
|
|
$processStartInfo.RedirectStandardOutput = $true
|
|
$processStartInfo.UseShellExecute = $false
|
|
$processStartInfo.Arguments = $data
|
|
$process = New-Object System.Diagnostics.Process
|
|
$process.StartInfo = $processStartInfo
|
|
$process.Start() | Out-Null
|
|
$process.WaitForExit()
|
|
$stdout = $process.StandardOutput.ReadToEnd()
|
|
$stderr = $process.StandardError.ReadToEnd()
|
|
Write-Host "stderr: $stderr"
|
|
Write-Host "exit code: " + $process.ExitCode
|
|
Write-Host "##vso[task.setvariable variable=pipelinePassword;]$stdout"
|
|
displayName: pipelinePassword
|
|
|
|
- script: 'sc create "$(Build.Repository.Name)-$(Configuration)" start= delayed-auto DisplayName= "$(GitCommitSeven)-$(Build.BuildId)-$(Build.Repository.Name)-$(Configuration)" binPath= D:\$(CoreVersion)\$(Build.Repository.Name)\$(GitCommitSeven)-$(Build.BuildId)-$(Build.Repository.Name)-$(Configuration)\Server\$(ExeName).exe obj= INFINEON\meseafsvc password="$(pipelinePassword)"'
|
|
workingDirectory: Server
|
|
displayName: "Service Control - Create"
|
|
|
|
- script: 'sc start "$(Build.Repository.Name)-$(Configuration)"'
|
|
workingDirectory: Server
|
|
displayName: "Service Control - Start"
|
|
|
|
- task: PublishBuildArtifacts@1
|
|
displayName: "Publish Artifact: drop"
|
|
enabled: false
|
|
|
|
- script: '"C:\program files\dotnet\dotnet.exe" clean --configuration $(Configuration)'
|
|
workingDirectory: Tests
|
|
displayName: "Core Clean - Tests"
|
|
|
|
- script: '"C:\program files\dotnet\dotnet.exe" clean --configuration $(Configuration)'
|
|
workingDirectory: Server
|
|
displayName: "Core Clean - Server"
|
|
|
|
- script: '"C:\program files\dotnet\dotnet.exe" clean --configuration $(Configuration)'
|
|
workingDirectory: Server
|
|
displayName: "Core Clean - Server"
|
|
|
|
- script: 'echo $(Build.SourceVersion)-$(Build.BuildId)>bin_x_x_\Debug\$(CoreVersion)\win-x64\$(Build.Repository.Name).txt'
|
|
workingDirectory: "EAF Viewer"
|
|
displayName: "Force Fail"
|