Files
DiunaBI/azure-pipelines.yml
2022-11-29 20:20:17 +00:00

80 lines
2.3 KiB
YAML

# ASP.NET
# Build and test ASP.NET projects.
# Add steps that publish symbols, save build artifacts, deploy, and more:
# https://docs.microsoft.com/azure/devops/pipelines/apps/aspnet/build-aspnet-4
trigger:
- deploy
pool:
vmImage: 'ubuntu-latest'
variables:
buildConfiguration: 'Release'
targetRuntime: 'linux-x64'
selfContained: false
dotNetFramework: 'net6.0'
dotNetVersion: '6.0.x'
steps:
# Start: Build WebAPI
- task: UseDotNet@2
inputs:
version: $(dotNetVersion)
- script: dotnet build --configuration $(buildConfiguration) "WebAPI/Diuna WebAPI.csproj"
displayName: 'Build .NET 6 Application'
- task: DotNetCoreCLI@2
displayName: 'dotnet publish $(buildConfiguration)'
inputs:
command: publish
publishWebProjects: True
arguments: '--configuration $(BuildConfiguration) --framework $(dotNetFramework) --runtime $(targetRuntime) --self-contained $(selfContained) --output $(Build.ArtifactStagingDirectory)'
workingDirectory: 'WebAPI'
zipAfterPublish: False
- task: ArchiveFiles@2
inputs:
rootFolderOrFile: '$(Build.ArtifactStagingDirectory)/WebAPI/'
includeRootFolder: true
archiveType: 'zip'
archiveFile: '$(Build.ArtifactStagingDirectory)/zip/Diuna-WebAPI.zip'
replaceExistingArchive: true
# End: Build WebAPI
# Start: Build Frontend
- task: NodeTool@0
inputs:
versionSpec: '14.x'
displayName: 'Install Node.js'
- script: |
npm install -g @angular/cli
npm install
ng build --configuration production
workingDirectory: 'Frontend'
displayName: 'npm install and build'
- task: CopyFiles@2
inputs:
SourceFolder: '$(Build.Repository.LocalPath)/Frontend/dist/diuna'
Contents: '**'
TargetFolder: '$(Build.ArtifactStagingDirectory)/Frontend'
- task: ArchiveFiles@2
inputs:
rootFolderOrFile: '$(Build.ArtifactStagingDirectory)/Frontend/'
includeRootFolder: true
archiveType: 'zip'
archiveFile: '$(Build.ArtifactStagingDirectory)/zip/Diuna-Frontend.zip'
replaceExistingArchive: true
# End: Build Frontend
# Cleanup
- task: DeleteFiles@1
inputs:
Contents: |
$(Build.ArtifactStagingDirectory)/WebApi/*
$(Build.ArtifactStagingDirectory)/Frontend/*
# Publish results
- task: PublishBuildArtifacts@1
displayName: 'publish artifacts'
inputs:
pathtoPublish: '$(Build.ArtifactStagingDirectory)/zip'