-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathazure-pipelines-data-extract.yml
102 lines (97 loc) · 3.98 KB
/
azure-pipelines-data-extract.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
trigger: none
pool:
vmImage: "ubuntu-latest"
schedules:
- cron: "0 2 * * *"
displayName: "Data extract schedule"
branches:
include:
- main
batch: false
always: true
parameters:
- name: env
displayName: "Environment to import data into"
type: string
default: "prod"
values: ["int", "stag", "prod"]
- name: runCapacity
displayName: "Run Capacity Data Extract"
type: boolean
default: true
- name: runBooking
displayName: "Run Booking Data Extract"
type: boolean
default: true
variables:
- group: covid19bookingkv${{parameters.env}}uks
- group: mya-extract-${{parameters.env}}
- name: cosmosAccountName
value: nbs-mya-cdb-${{parameters.env}}-uks
- name: resourceGroupName
value: nbs-mya-rg-${{parameters.env}}-uks
stages:
- stage: "CreateCapacityDailyExtract"
displayName: "Create Capacity data extract"
condition: eq('${{ parameters.runCapacity }}', 'true')
jobs:
- job: "GenerateCapacityDailyExtract"
displayName: "Generate and send capacity extract"
steps:
- task: AzureCLI@2
displayName: "Get Cosmos DB account connection string"
inputs:
azureSubscription: "nbs-mya-rg-${{parameters.env}}"
scriptType: pscore
scriptLocation: scriptPath
scriptPath: "$(Build.SourcesDirectory)/scripts/cosmos-build/get_cosmos_connection_string.ps1"
arguments: "-resourceGroup $(resourceGroupName) -cosmosAccountName $(cosmosAccountName)"
- task: DotNetCoreCLI@2
displayName: "Run tool to create capacity data extract"
inputs:
command: "run"
projects: "data/CapacityDataExtract/CapacityDataExtracts.csproj"
env:
COSMOS_ENDPOINT: $(COSMOS_ENDPOINT)
COSMOS_TOKEN: $(COSMOS_TOKEN)
MESH_MAILBOX_DESTINATION: $(toMeshMailboxId)
MESH_WORKFLOW: $(meshCapacityWorkflowId)
KeyVault__KeyVaultName: covid19bookingkv${{parameters.env}}uks
KeyVault__TenantId: $(tenantId)
KeyVault__ClientId: $(ClientId)
KeyVault__ClientSecret: $(ClientSecret)
MeshClientOptions__BaseUrl: $(meshApiBaseUri)
MeshAuthorizationOptions__MailboxId: $(fromMeshMailboxId)
MeshAuthorizationOptions__CertificateName: $(meshCertificateName)
- stage: "CreateBookingDailyExtract"
displayName: "Create booking data extract"
condition: eq('${{ parameters.runBooking }}', 'true')
jobs:
- job: "GenerateBookingDailyExtract"
displayName: "Generate and send booking extract"
steps:
- task: AzureCLI@2
displayName: "Get Cosmos DB account connection string"
inputs:
azureSubscription: "nbs-mya-rg-${{parameters.env}}"
scriptType: pscore
scriptLocation: scriptPath
scriptPath: "$(Build.SourcesDirectory)/scripts/cosmos-build/get_cosmos_connection_string.ps1"
arguments: "-resourceGroup $(resourceGroupName) -cosmosAccountName $(cosmosAccountName)"
- task: DotNetCoreCLI@2
displayName: "Run tool to create booking data extract"
inputs:
command: "run"
projects: "data/BookingsDataExtracts/BookingsDataExtracts.csproj"
env:
COSMOS_ENDPOINT: $(COSMOS_ENDPOINT)
COSMOS_TOKEN: $(COSMOS_TOKEN)
MESH_MAILBOX_DESTINATION: $(toMeshMailboxId)
MESH_WORKFLOW: $(meshBookingWorkflowId)
KeyVault__KeyVaultName: covid19bookingkv${{parameters.env}}uks
KeyVault__TenantId: $(tenantId)
KeyVault__ClientId: $(ClientId)
KeyVault__ClientSecret: $(ClientSecret)
MeshClientOptions__BaseUrl: $(meshApiBaseUri)
MeshAuthorizationOptions__MailboxId: $(fromMeshMailboxId)
MeshAuthorizationOptions__CertificateName: $(meshCertificateName)