diff options
author | 杨宇千 <crupest@outlook.com> | 2019-07-29 20:38:31 +0800 |
---|---|---|
committer | 杨宇千 <crupest@outlook.com> | 2019-07-29 20:38:31 +0800 |
commit | 246e4eafeb10a26e049d1905c9721c1fb1181aed (patch) | |
tree | 4ea9ccaabc9eb1c6221eed27e1d9dba760092bae /CI/release-pipeline.yml | |
parent | 17e779410b3b5fc1899f59515fe17f8f93e49f30 (diff) | |
download | timeline-246e4eafeb10a26e049d1905c9721c1fb1181aed.tar.gz timeline-246e4eafeb10a26e049d1905c9721c1fb1181aed.tar.bz2 timeline-246e4eafeb10a26e049d1905c9721c1fb1181aed.zip |
Separate build and release CI.
Diffstat (limited to 'CI/release-pipeline.yml')
-rw-r--r-- | CI/release-pipeline.yml | 53 |
1 files changed, 53 insertions, 0 deletions
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
|