trigger: - master - dev stages: - stage: build displayName: Routine Build and Test jobs: - job: frontend_build displayName: Frontend Build pool: vmImage: 'ubuntu-18.04' steps: - script: yarn workingDirectory: Timeline/ClientApp displayName: Restore Packages - script: yarn build workingDirectory: Timeline/ClientApp displayName: Webpack Build - publish: Timeline/ClientApp/dist artifact: timeline-frontend - job: backend_build displayName: Backend Build Debug and Test pool: vmImage: 'ubuntu-18.04' variables: buildConfiguration: 'Debug' ASPNETCORE_ENVIRONMENT: 'Development' steps: - task: UseDotNet@2 inputs: packageType: sdk version: 3.1.x - script: dotnet test --configuration $(buildConfiguration) --logger trx --collect:"XPlat Code Coverage" --settings './Timeline.Tests/coverletArgs.runsettings' displayName: Dotnet Test - task: PublishTestResults@2 condition: succeededOrFailed() inputs: testRunner: VSTest testResultsFiles: '**/*.trx' - task: PublishCodeCoverageResults@1 condition: succeededOrFailed() inputs: codeCoverageTool: 'Cobertura' summaryFileLocation: '**/TestResults/*/coverage.cobertura.xml' - stage: deploy displayName: Build Release and Deploy dependsOn: build condition: eq(variables['Build.SourceBranchName'], 'master') variables: buildConfiguration: 'Release' jobs: - job: build displayName: Build Release Artifact pool: vmImage: 'ubuntu-18.04' steps: - task: Docker@2 displayName: Build And Push Docker Image inputs: command: buildAndPush repository: crupest/timeline tags: latest buildContext: . containerRegistry: crupest-docker-hub