From 246e4eafeb10a26e049d1905c9721c1fb1181aed Mon Sep 17 00:00:00 2001 From: 杨宇千 Date: Mon, 29 Jul 2019 20:38:31 +0800 Subject: Separate build and release CI. --- CI/release-pipeline.yml | 53 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 CI/release-pipeline.yml (limited to 'CI/release-pipeline.yml') diff --git a/CI/release-pipeline.yml b/CI/release-pipeline.yml new file mode 100644 index 00000000..f2b94224 --- /dev/null +++ b/CI/release-pipeline.yml @@ -0,0 +1,53 @@ +trigger: +- master + +pr: none + +variables: + buildConfiguration: 'Release' + ASPNETCORE_ENVIRONMENT: 'Production' +stages: +- stage: Build + jobs: + - job: Build + pool: + vmImage: 'Ubuntu-16.04' + steps: + - script: | + dotnet restore Timeline/Timeline.csproj --configfile nuget.config + dotnet restore Timeline.Tests/Timeline.Tests.csproj --configfile nuget.config + displayName: Dotnet Restore + + - script: dotnet test Timeline.Tests/Timeline.Tests.csproj --configuration $(buildConfiguration) --no-restore --logger trx + displayName: Dotnet Test + + - task: PublishTestResults@2 + condition: succeededOrFailed() + inputs: + testRunner: VSTest + testResultsFiles: '**/*.trx' + + - script: dotnet publish Timeline/Timeline.csproj --configuration $(buildConfiguration) --no-restore --output ./publish/ + displayName: Dotnet Publish + + - task: PublishPipelineArtifact@0 + inputs: + artifactName: 'timeline' + targetPath: Timeline/publish + +- stage: Deploy + jobs: + - deployment: Deploy + pool: + name: 'Default' + environment: 'timeline-server' + strategy: + runOnce: + deploy: + steps: + - script: | + rm -rf /var/timeline/* + cp -r $PIPELINE_WORKSPACE/timeline/. /var/timeline/ + sudo systemctl restart timeline.service + displayName: 'Command Line Script' + failOnStderr: true -- cgit v1.2.3