This repository has been archived by the owner on Nov 25, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 10
/
AspDotNetCore-AppServiceLinux-CI.yml
102 lines (102 loc) · 3.53 KB
/
AspDotNetCore-AppServiceLinux-CI.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
phases:
- phase: Linux
queue: Hosted Linux Preview
variables:
RestoreBuildProjects: "src/AspNetCoreApplication/AspNetCoreApplication.csproj\ntest/AspNetCoreApplication.UnitTests/AspNetCoreApplication.UnitTests.csproj"
BuildConfiguration: release
DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true
NUGET_XMLDOC_MODE: skip
DotNetCorePackagingFolder: pub
steps:
#web app
- task: dotNetCoreCLI@1
inputs:
command: restore
projects: $(RestoreBuildProjects)
displayName: dotnet restore
- task: dotNetCoreCLI@1
inputs:
command: build
projects: $(RestoreBuildProjects)
arguments: --configuration $(BuildConfiguration)
displayName: dotnet build
- task: dotNetCoreCLI@1
inputs:
command: test
projects: "**/*UnitTests/*.csproj"
arguments: --configuration $(BuildConfiguration) --logger:trx
displayName: dotnet test
- task: PublishTestResults@2
inputs:
testRunner: VSTest
testResultsFiles: "**/*.trx"
mergeTestResults: true
testRunTitle: "UnitTests"
configuration: $(BuildConfiguration)
displayName: Publish UnitTests Results
- task: dotNetCoreCLI@1
inputs:
command: publish
arguments: --configuration $(BuildConfiguration) --output $(DotNetCorePackagingFolder)
zipAfterPublish: false
displayName: dotnet publish
- task: Docker@0
inputs:
action: Build an image
dockerFile: "**/Dockerfile"
buildArguments: source=$(DotNetCorePackagingFolder)
imageName: demoregfoo123.azurecr.io/$(Build.Repository.Name):$(Build.BuildId)
workDir: $(System.DefaultWorkingDirectory)
includeLatestTag: true
qualifyImageName: true
defaultContext: true
displayName: Build Docker image
- task: Docker@0
inputs:
containerregistrytype: Azure Container Registry
azureContainerRegistry: "{\"loginServer\":\"demoregfoo123.azurecr.io\", \"id\":\"/subscriptions/0bd042ec-b6bc-4162-8385-c05a21d55572/resourceGroups/MyResGroup/providers/Microsoft.ContainerRegistry/registries/demoregfoo123\"}"
azureSubscriptionEndpoint: "AzureSubscription"
action: Push an image
imageName: $(Build.Repository.Name):$(Build.BuildId)
workDir: $(System.DefaultWorkingDirectory)
includeLatestTag: true
qualifyImageName: true
defaultContext: true
displayName: Push Docker image
#infra
- task: publishBuildArtifacts@1
inputs:
PathtoPublish: "infra/templates"
ArtifactName: infra
ArtifactType: Container
displayName: "Publish artifact: infra"
#scripts
- task: publishBuildArtifacts@1
inputs:
PathtoPublish: "infra/scripts"
ArtifactName: scripts
ArtifactType: Container
displayName: "Publish artifact: scripts"
- phase: Windows
queue: Hosted VS2017
variables:
BuildConfiguration: release
steps:
#ui-tests
- task: NuGetCommand@0
inputs:
command: restore
solution: "test/AspNetCoreApplication.UITests/packages.config"
nuGetRestoreArgs: "-PackagesDirectory $(System.DefaultWorkingDirectory)/packages"
displayName: "NuGet restore (UITests)"
- task: MSBuild@1
inputs:
solution: "test/AspNetCoreApplication.UITests/AspNetCoreApplication.UITests.csproj"
configuration: $(BuildConfiguration)
displayName: "Build UITests"
- task: publishBuildArtifacts@1
inputs:
PathtoPublish: "$(build.sourcesdirectory)/test/AspNetCoreApplication.UITests/bin/$(BuildConfiguration)"
ArtifactName: ui-tests
ArtifactType: Container
displayName: "Publish artifact: ui-tests"