Skip to content

Commit 2d55a98

Browse files
authored
Implement release promotion pipeline (#6435)
1 parent 77b7638 commit 2d55a98

4 files changed

Lines changed: 73 additions & 15 deletions

File tree

eng/common/templates/stages/publish.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,9 @@ parameters:
2020
stages:
2121
- ${{ if eq(parameters.isInternalServicingValidation, 'false') }}:
2222
- stage: Publish
23-
${{ if not(parameters.isStandalonePublish) }}:
23+
${{ if eq(parameters.isStandalonePublish, true) }}:
24+
dependsOn: []
25+
${{ else }}:
2426
${{ if and(eq(variables['System.TeamProject'], parameters.internalProjectName), ne(variables['Build.Reason'], 'PullRequest')) }}:
2527
dependsOn: Test
2628
${{ else }}:
Lines changed: 33 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,38 @@
11
trigger: none
22
pr: none
33

4+
resources:
5+
pipelines:
6+
# https://dev.azure.com/dnceng/internal/_build?definitionId=1434
7+
- pipeline: dotnet-docker-release-staging
8+
source: dotnet-docker-release-staging
9+
10+
variables:
11+
- template: /eng/pipelines/variables/core.yml@self
12+
parameters:
13+
sourceBuildPipelineRunId: "$(resources.pipeline.dotnet-docker-release-staging.runID)"
14+
# Set pathArgs to empty in order to publish all images
15+
- name: imageBuilder.pathArgs
16+
value: ""
17+
- name: imageBuilder.queueArgs
18+
value: ""
19+
420
extends:
521
template: /eng/common/templates/1es-official.yml@self
6-
stages:
7-
- stage: release-promotion
8-
jobs:
9-
- job: release-promotion
10-
steps:
11-
- script: echo "Hello world"
22+
parameters:
23+
serviceConnections:
24+
- name: $(internal-mirror.serviceConnectionName)
25+
- name: $(publish.serviceConnectionName)
26+
- name: $(kusto.serviceConnectionName)
27+
- name: $(marStatus.serviceConnectionName)
28+
stages:
29+
- template: /eng/pipelines/stages/publish.yml@self
30+
parameters:
31+
internalProjectName: ${{ variables.internalProjectName }}
32+
publicProjectName: ${{ variables.publicProjectName }}
33+
isStandalonePublish: true
34+
sourceBuildPipelineDefinitionId: "$(resources.pipeline.dotnet-docker-release-staging.pipelineID)"
35+
sourceBuildPipelineRunId: "$(resources.pipeline.dotnet-docker-release-staging.runID)"
36+
customPublishInitSteps:
37+
- script: echo "##vso[task.setvariable variable=sourceBuildId]$(resources.pipeline.dotnet-docker-release-staging.runID)"
38+
displayName: Set sourceBuildId

eng/pipelines/stages/build-test-publish-repo.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,4 +18,8 @@ stages:
1818
${{ insert }}: ${{ parameters }}
1919
- template: /eng/pipelines/stages/publish.yml@self
2020
parameters:
21-
${{ insert }}: ${{ parameters }}
21+
internalProjectName: ${{ parameters.internalProjectName }}
22+
publicProjectName: ${{ parameters.publicProjectName }}
23+
linuxAmd64Pool: ${{ parameters.linuxAmd64Pool }}
24+
isInternalServicingValidation: ${{ parameters.isInternalServicingValidation }}
25+
sourceBuildPipelineRunId: ${{ parameters.sourceBuildPipelineRunId }}

eng/pipelines/stages/publish.yml

Lines changed: 32 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,42 @@
22
# specific to the Dockerfiles in this repo.
33

44
parameters:
5-
noCache: false
6-
internalProjectName: null
7-
publicProjectName: null
8-
linuxAmd64Pool: ""
9-
isInternalServicingValidation: false
10-
sourceBuildPipelineRunId: ""
5+
- name: internalProjectName
6+
type: string
7+
default: null
8+
- name: publicProjectName
9+
type: string
10+
default: null
11+
- name: linuxAmd64Pool
12+
type: string
13+
default: ""
14+
- name: isInternalServicingValidation
15+
type: boolean
16+
default: false
17+
- name: isStandalonePublish
18+
type: boolean
19+
default: false
20+
- name: customPublishInitSteps
21+
type: stepList
22+
default: []
23+
- name: sourceBuildPipelineDefinitionId
24+
type: string
25+
default: ''
26+
- name: sourceBuildPipelineRunId
27+
type: string
28+
default: ''
1129

1230
stages:
1331
- template: /eng/common/templates/stages/dotnet/publish.yml@self
1432
parameters:
15-
${{ insert }}: ${{ parameters }}
33+
internalProjectName: ${{ parameters.internalProjectName }}
34+
publicProjectName: ${{ parameters.publicProjectName }}
35+
isInternalServicingValidation: ${{ parameters.isInternalServicingValidation }}
36+
isStandalonePublish: ${{ parameters.isStandalonePublish }}
37+
pool: ${{ parameters.linuxAmd64Pool }}
1638
customPublishInitSteps:
39+
- ${{ parameters.customPublishInitSteps }}
1740
- template: /eng/pipelines/steps/set-public-source-branch-var.yml@self
1841
- template: /eng/pipelines/steps/set-publish-mcrdocs-args-var.yml@self
42+
sourceBuildPipelineDefinitionId: ${{ parameters.sourceBuildPipelineDefinitionId }}
43+
sourceBuildPipelineRunId: ${{ parameters.sourceBuildPipelineRunId }}

0 commit comments

Comments
 (0)