# 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: 'net7.0' dotNetVersion: '7.0.x' steps: # Start: Build WebAPI - task: UseDotNet@2 inputs: version: $(dotNetVersion) - script: dotnet build --configuration $(buildConfiguration) "WebAPI/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'