aboutsummaryrefslogtreecommitdiff
path: root/CI/release-pipeline.yml
diff options
context:
space:
mode:
Diffstat (limited to 'CI/release-pipeline.yml')
-rw-r--r--CI/release-pipeline.yml53
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