forked from microsoft/dotnet-framework-docker
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsign-images.yml
More file actions
64 lines (57 loc) · 2.44 KB
/
Copy pathsign-images.yml
File metadata and controls
64 lines (57 loc) · 2.44 KB
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
# Signs container images using ESRP/Notary v2.
# This job downloads the merged image-info artifact and signs all images listed in it.
parameters:
pool: {}
internalProjectName: null
publicProjectName: null
customInitSteps: []
publishConfig: null
sourceBuildPipelineRunId: ""
jobs:
- job: Sign
pool: ${{ parameters.pool }}
variables:
imageInfoDir: $(Build.ArtifactStagingDirectory)/image-info
steps:
# Install MicroBuild signing plugin for ESRP container image signing
- template: /eng/docker-tools/templates/steps/init-signing-linux.yml@self
parameters:
signType: ${{ parameters.publishConfig.Signing.SignType }}
envFileVariableName: signingEnvFilePath
# Setup docker and ImageBuilder
- template: /eng/docker-tools/templates/steps/init-common.yml@self
parameters:
dockerClientOS: linux
setupImageBuilder: true
customInitSteps: ${{ parameters.customInitSteps }}
publishConfig: ${{ parameters.publishConfig }}
envFilePath: $(signingEnvFilePath)
- template: /eng/docker-tools/templates/steps/reference-service-connections.yml@self
parameters:
publishConfig: ${{ parameters.publishConfig }}
usesRegistries:
- ${{ parameters.publishConfig.BuildRegistry.server }}
# Download merged image-info artifact from Post_Build stage (or from a previous pipeline run)
- template: /eng/docker-tools/templates/steps/download-build-artifact.yml@self
parameters:
targetPath: $(imageInfoDir)
artifactName: image-info
pipelineRunId: ${{ parameters.sourceBuildPipelineRunId }}
- template: /eng/docker-tools/templates/steps/run-imagebuilder.yml@self
parameters:
displayName: 🔏 Sign Container Images
internalProjectName: ${{ parameters.internalProjectName }}
args: >-
signImages
$(artifactsPath)/image-info/image-info.json
--registry-override ${{ parameters.publishConfig.BuildRegistry.server }}
--repo-prefix ${{ parameters.publishConfig.BuildRegistry.repoPrefix }}
- template: /eng/docker-tools/templates/steps/run-imagebuilder.yml@self
parameters:
displayName: ✅ Verify Container Image Signatures
internalProjectName: ${{ parameters.internalProjectName }}
args: >-
verifySignatures
$(artifactsPath)/image-info/image-info.json
--registry-override ${{ parameters.publishConfig.BuildRegistry.server }}
--repo-prefix ${{ parameters.publishConfig.BuildRegistry.repoPrefix }}