diff options
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
|