Skip to content

Commit 861c680

Browse files
committed
Refactor default values in apigee-deployment.yml for consistency and clarity
1 parent 28f5a8f commit 861c680

1 file changed

Lines changed: 96 additions & 97 deletions

File tree

azure/common/apigee-deployment.yml

Lines changed: 96 additions & 97 deletions
Original file line numberDiff line numberDiff line change
@@ -23,20 +23,20 @@ parameters:
2323
- name: fully_qualified_service_name
2424
displayName: Supply a custom name for your release (only valid for release pipeline)
2525
type: string
26-
default: ''
26+
default: ""
2727
- name: ping
2828
displayName: Toggle ping endpoint avaliablility
2929
type: boolean
3030
default: true
3131
- name: hosted_target_connection_path_suffix
3232
type: string
33-
default: ''
33+
default: ""
3434
- name: hosted_target_healthcheck_suffix
3535
type: string
36-
default: '/_status'
36+
default: "/_status"
3737
- name: jinja_templates
3838
type: object
39-
displayName: Key/values for custom jinja templating
39+
displayName: Key/values for custom jinja templating
4040
default: []
4141
- name: enable_monitoring
4242
type: boolean
@@ -85,7 +85,7 @@ parameters:
8585
- name: manual_approval_env
8686
displayName: Custom manual approval env overwrite
8787
type: string
88-
default: 'manual-approval'
88+
default: "manual-approval"
8989
- name: _scoped_pipeline_vars
9090
type: object
9191
displayName: All the pipeline parameters which support per-environment scoping.
@@ -121,12 +121,12 @@ parameters:
121121
- name: _pipeline_defaults
122122
type: object
123123
default:
124-
- name_suffix: '-Pull-Request'
124+
- name_suffix: "-Pull-Request"
125125
deploy_template: pr.yml
126126
environments:
127-
- internal-dev
128-
- internal-dev-sandbox
129-
- name_suffix: '-Release'
127+
- internal-dev
128+
- internal-dev-sandbox
129+
- name_suffix: "-Release"
130130
deploy_template: release.yml
131131
environments:
132132
- internal-dev
@@ -139,107 +139,106 @@ parameters:
139139
- prod
140140
# Deprecated pipeline variables.
141141
- name: product_display_name
142-
default: 'DEPRECATED'
142+
default: "DEPRECATED"
143143
- name: product_description
144-
default: 'DEPRECATED'
144+
default: "DEPRECATED"
145145
- name: portal_api_requires_callback_url
146-
default: 'DEPRECATED'
146+
default: "DEPRECATED"
147147
- name: make_spec_visible
148-
default: 'DEPRECATED'
148+
default: "DEPRECATED"
149149
- name: spec_file
150-
default: 'DEPRECATED'
150+
default: "DEPRECATED"
151151
- name: python_version
152152
type: string
153153
default: "3.13"
154154
- name: agent_pool
155155
type: string
156156
default: "AWS-ECS"
157157

158+
stages:
159+
- template: ./deploy-stages.yml
160+
parameters:
161+
${{ each param in parameters }}:
162+
${{ if notIn(param.key, 'apigee_deployments', '_scoped_pipeline_vars', '_scoped_step_list_vars', '_pipeline_defaults') }}:
163+
${{ if not(contains(join(',', parameters._scoped_pipeline_vars), param.key)) }}:
164+
${{ param.key }}: ${{ param.value }}
158165

159-
extends:
160-
template: ./deploy-stages.yml
161-
parameters:
162-
${{ each param in parameters }}:
163-
${{ if notIn(param.key, 'apigee_deployments', '_scoped_pipeline_vars', '_scoped_step_list_vars', '_pipeline_defaults') }}:
164-
${{ if not(contains(join(',', parameters._scoped_pipeline_vars), param.key)) }}:
165-
${{ param.key }}: ${{ param.value }}
166+
${{ each pipeline_default in parameters._pipeline_defaults }}:
167+
${{ if endsWith(variables['Build.DefinitionName'], pipeline_default.name_suffix) }}:
168+
deploy_template: ${{ pipeline_default.deploy_template }}
166169

167-
${{ each pipeline_default in parameters._pipeline_defaults }}:
168-
${{ if endsWith(variables['Build.DefinitionName'], pipeline_default.name_suffix) }}:
169-
deploy_template: ${{ pipeline_default.deploy_template }}
170+
# If apigee_deployments was specified, accept it regardless of which pipeline we are in
171+
${{ if gt(length(parameters.apigee_deployments), 0) }}:
172+
apigee_deployments:
173+
- ${{ each apigee_deployment in parameters.apigee_deployments }}:
174+
- ${{ if and(eq(apigee_deployment.environment, 'prod'), parameters.prod_requires_approval) }}:
175+
- environment: manual-approval
176+
stage_name: manual_approval
177+
depends_on: []
178+
manual_approval_prod: true
179+
producer_approval: ${{ parameters.prod_producer_approval }}
180+
${{ each var in parameters._scoped_pipeline_vars }}:
181+
${{ var }}: ${{ parameters[var] }}
182+
- ${{ each apigee_deployment in parameters.apigee_deployments }}:
183+
- environment: ${{ apigee_deployment.environment }}
184+
stage_name: ${{ replace(coalesce (apigee_deployment.stage_name, apigee_deployment.environment), '-', '_') }}
185+
${{ each var in parameters._scoped_pipeline_vars }}:
186+
${{ if apigee_deployment[var] }}:
187+
${{ if containsValue(parameters._scoped_step_list_vars, var) }}:
188+
${{ var }}:
189+
- ${{ each step in apigee_deployment[var] }}:
190+
${{ each pair in step }}:
191+
# Assume scoped template paths are
192+
# relative to azure/ in @self repo
193+
${{ if and(eq(pair.key, 'template'), not(contains(pair.value, '@'))) }}:
194+
${{ pair.key }}: azure/${{ pair.value }}@self
195+
${{ if not(and(eq(pair.key, 'template'), not(contains(pair.value, '@')))) }}:
196+
${{ pair.key }}: ${{ pair.value }}
197+
${{ if not(containsValue(parameters._scoped_step_list_vars, var)) }}:
198+
${{ var }}: ${{ apigee_deployment[var] }}
199+
${{ if not(apigee_deployment[var]) }}:
200+
${{ var }}: ${{ parameters[var] }}
201+
${{ if not(apigee_deployment.depends_on) }}:
202+
${{ if or(startsWith(apigee_deployment.environment, 'internal-'), eq(apigee_deployment.environment, 'manual-approval')) }}:
203+
depends_on: []
204+
${{ if and(not(startsWith(apigee_deployment.environment, 'internal-')), ne(apigee_deployment.environment, 'manual-approval')) }}:
205+
depends_on:
206+
- internal_qa
207+
- ${{ if and(eq(apigee_deployment.environment, 'prod'), parameters.prod_requires_approval) }}:
208+
- manual_approval
209+
${{ if apigee_deployment.depends_on }}:
210+
depends_on:
211+
- ${{ each depend_on in apigee_deployment.depends_on }}:
212+
- ${{ depend_on }}
213+
- ${{ if and(eq(apigee_deployment.environment, 'prod'), parameters.prod_requires_approval) }}:
214+
- manual_approval
170215

171-
# If apigee_deployments was specified, accept it regardless of which pipeline we are in
172-
${{ if gt(length(parameters.apigee_deployments), 0) }}:
173-
apigee_deployments:
174-
- ${{ each apigee_deployment in parameters.apigee_deployments }}:
175-
- ${{ if and(eq(apigee_deployment.environment, 'prod'), parameters.prod_requires_approval) }}:
176-
- environment: manual-approval
177-
stage_name: manual_approval
178-
depends_on: []
179-
manual_approval_prod: true
180-
producer_approval: ${{ parameters.prod_producer_approval }}
181-
${{ each var in parameters._scoped_pipeline_vars }}:
182-
${{ var }}: ${{ parameters[var] }}
183-
- ${{ each apigee_deployment in parameters.apigee_deployments }}:
184-
- environment: ${{ apigee_deployment.environment }}
185-
stage_name: ${{ replace(coalesce (apigee_deployment.stage_name, apigee_deployment.environment), '-', '_') }}
186-
${{ each var in parameters._scoped_pipeline_vars }}:
187-
${{ if apigee_deployment[var] }}:
188-
${{ if containsValue(parameters._scoped_step_list_vars, var) }}:
189-
${{ var }}:
190-
- ${{ each step in apigee_deployment[var] }}:
191-
${{ each pair in step }}:
192-
# Assume scoped template paths are
193-
# relative to azure/ in @self repo
194-
${{ if and(eq(pair.key, 'template'), not(contains(pair.value, '@'))) }}:
195-
${{ pair.key }}: azure/${{ pair.value }}@self
196-
${{ if not(and(eq(pair.key, 'template'), not(contains(pair.value, '@')))) }}:
197-
${{ pair.key }}: ${{ pair.value }}
198-
${{ if not(containsValue(parameters._scoped_step_list_vars, var)) }}:
199-
${{ var }}: ${{ apigee_deployment[var] }}
200-
${{ if not(apigee_deployment[var]) }}:
201-
${{ var }}: ${{ parameters[var] }}
202-
${{ if not(apigee_deployment.depends_on) }}:
203-
${{ if or(startsWith(apigee_deployment.environment, 'internal-'), eq(apigee_deployment.environment, 'manual-approval')) }}:
216+
# otherwise set the default parameters for this pipeline
217+
${{ if eq(0, length(parameters.apigee_deployments)) }}:
218+
apigee_deployments:
219+
- ${{ each environment in pipeline_default.environments }}:
220+
- ${{ if notIn(environment, 'internal-dev-sandbox') }}:
221+
- environment: ${{ environment }}
222+
stage_name: ${{ replace(environment, '-', '_') }}
223+
${{ if startsWith(environment, 'internal-') }}:
224+
depends_on: []
225+
${{ if not(startsWith(environment, 'internal-')) }}:
226+
depends_on:
227+
- internal_qa
228+
- internal_qa_sandbox
229+
- ${{ if and(parameters.prod_requires_approval, eq(environment, 'prod')) }}:
230+
- manual_approval
231+
${{ each var in parameters._scoped_pipeline_vars }}:
232+
${{ var }}: ${{ parameters[var] }}
233+
- ${{ if parameters.deploy_review_sandbox }}:
234+
- environment: internal-dev-sandbox
235+
stage_name: internal_dev_sandbox
204236
depends_on: []
205-
${{ if and(not(startsWith(apigee_deployment.environment, 'internal-')), ne(apigee_deployment.environment, 'manual-approval')) }}:
206-
depends_on:
207-
- internal_qa
208-
- ${{ if and(eq(apigee_deployment.environment, 'prod'), parameters.prod_requires_approval) }}:
209-
- manual_approval
210-
${{ if apigee_deployment.depends_on }}:
211-
depends_on:
212-
- ${{ each depend_on in apigee_deployment.depends_on }}:
213-
- ${{ depend_on }}
214-
- ${{ if and(eq(apigee_deployment.environment, 'prod'), parameters.prod_requires_approval) }}:
215-
- manual_approval
216-
217-
# otherwise set the default parameters for this pipeline
218-
${{ if eq(0, length(parameters.apigee_deployments)) }}:
219-
apigee_deployments:
220-
- ${{ each environment in pipeline_default.environments }}:
221-
- ${{ if notIn(environment, 'internal-dev-sandbox') }}:
222-
- environment: ${{ environment }}
223-
stage_name: ${{ replace(environment, '-', '_') }}
224-
${{ if startsWith(environment, 'internal-') }}:
237+
${{ each var in parameters._scoped_pipeline_vars }}:
238+
${{ var }}: ${{ parameters[var] }}
239+
- ${{ if and(parameters.prod_requires_approval, containsValue(pipeline_default.environments, 'prod')) }}:
240+
- environment: manual-approval
241+
stage_name: manual_approval
225242
depends_on: []
226-
${{ if not(startsWith(environment, 'internal-')) }}:
227-
depends_on:
228-
- internal_qa
229-
- internal_qa_sandbox
230-
- ${{ if and(parameters.prod_requires_approval, eq(environment, 'prod')) }}:
231-
- manual_approval
232-
${{ each var in parameters._scoped_pipeline_vars }}:
233-
${{ var }}: ${{ parameters[var] }}
234-
- ${{ if parameters.deploy_review_sandbox }}:
235-
- environment: internal-dev-sandbox
236-
stage_name: internal_dev_sandbox
237-
depends_on: []
238-
${{ each var in parameters._scoped_pipeline_vars }}:
239-
${{ var }}: ${{ parameters[var] }}
240-
- ${{ if and(parameters.prod_requires_approval, containsValue(pipeline_default.environments, 'prod')) }}:
241-
- environment: manual-approval
242-
stage_name: manual_approval
243-
depends_on: []
244-
${{ each var in parameters._scoped_pipeline_vars }}:
245-
${{ var }}: ${{ parameters[var] }}
243+
${{ each var in parameters._scoped_pipeline_vars }}:
244+
${{ var }}: ${{ parameters[var] }}

0 commit comments

Comments
 (0)