-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathazure-pipeline.yaml.txt
86 lines (79 loc) · 2.56 KB
/
azure-pipeline.yaml.txt
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
trigger:
- main
pool:
vmImage: 'ubuntu-latest'
variables:
buildConfiguration: 'Release'
dockerRegistryServiceConnection: '<your-service-connection>'
imageRepository: 'ecommerce-platform'
containerRegistry: 'youracr.azurecr.io'
dockerfilePath: 'Dockerfile'
tag: '$(Build.BuildId)'
stages:
- stage: Build
jobs:
- job: Build
steps:
- task: UseDotNet@2
inputs:
packageType: 'sdk'
version: '5.x'
installationPath: $(Agent.ToolsDirectory)/dotnet
- script: 'dotnet build --configuration $(buildConfiguration)'
displayName: 'Build the application'
- task: Docker@2
inputs:
containerRegistry: '$(dockerRegistryServiceConnection)'
repository: '$(imageRepository)'
command: 'buildAndPush'
Dockerfile: '$(dockerfilePath)'
tags: |
$(tag)
- stage: Deploy
dependsOn: Build
jobs:
- deployment: Deploy
environment: 'staging'
strategy:
runOnce:
deploy:
steps:
- task: Kubernetes@1
inputs:
connectionType: 'Azure Resource Manager'
azureSubscriptionEndpoint: '<your-azure-subscription>'
azureResourceGroup: '<your-resource-group>'
kubernetesCluster: '<your-k8s-cluster>'
namespace: 'staging'
command: 'apply'
useConfigurationFile: true
configuration: 'manifests/deployment.yaml'
secretType: 'dockerRegistry'
containerRegistryType: 'Azure Container Registry'
containerRegistry: 'youracr.azurecr.io'
imagePullSecret: '<image-pull-secret>'
arguments: '-f manifests/deployment.yaml'
- stage: Production
dependsOn: Deploy
jobs:
- deployment: Production
environment: 'production'
strategy:
runOnce:
deploy:
steps:
- task: Kubernetes@1
inputs:
connectionType: 'Azure Resource Manager'
azureSubscriptionEndpoint: '<your-azure-subscription>'
azureResourceGroup: '<your-resource-group>'
kubernetesCluster: '<your-k8s-cluster>'
namespace: 'production'
command: 'apply'
useConfigurationFile: true
configuration: 'manifests/deployment.yaml'
secretType: 'dockerRegistry'
containerRegistryType: 'Azure Container Registry'
containerRegistry: 'youracr.azurecr.io'
imagePullSecret: '<image-pull-secret>'
arguments: '-f manifests/deployment.yaml'