@@ -88,30 +88,36 @@ jobs:
8888 condition : eq(variables.imageBuilderBuildArgs, '')
8989 displayName : Initialize Image Builder Build Args
9090 - powershell : |
91+ New-Item -Path $(imageInfoHostDir) -ItemType Directory -Force
92+
9193 # Reference the existing imageBuilderBuildArgs variable as an environment variable rather than injecting it directly
9294 # with the $(imageBuilderBuildArgs) syntax. This is to avoid issues where the string may contain single quotes $ chars
9395 # which really mess up assigning to a variable. It would require assigning the string with single quotes but also needing
9496 # to escape the single quotes that are in the string which would need to be done outside the context of PowerShell. Since
9597 # all we need is for that value to be in a PowerShell variable, we can get that by the fact that AzDO automatically creates
9698 # the environment variable for us.
97- New-Item -Path $(imageInfoHostDir) -ItemType Directory -Force
9899 $imageBuilderBuildArgs = "$env:IMAGEBUILDERBUILDARGS $(imageBuilder.queueArgs) --image-info-output-path $(imageInfoContainerDir)/$(legName)-image-info.json"
99100 if ($env:SYSTEM_TEAMPROJECT -eq "${{ parameters.internalProjectName }}" -and $env:BUILD_REASON -ne "PullRequest") {
100- $imageBuilderBuildArgs = "$imageBuilderBuildArgs --registry-override $(acr.server) --repo-prefix $(stagingRepoPrefix) --source-repo-prefix $(mirrorRepoPrefix) --push"
101+ $imageBuilderBuildArgs = "$imageBuilderBuildArgs --registry-override $(acr-staging.server) --repo-prefix $(stagingRepoPrefix) --source-repo-prefix $(mirrorRepoPrefix) --push"
102+ }
103+
104+ if ($env:SYSTEM_TEAMPROJECT -eq "${{ parameters.publicProjectName }}" -and ${env:PUBLIC-MIRROR_SERVER} -ne "") {
105+ $imageBuilderBuildArgs = "$imageBuilderBuildArgs --base-override-regex '^(?!mcr\.microsoft\.com)' --base-override-sub '$(public-mirror.server)/'"
101106 }
102107
103108 # If the pipeline isn't configured to disable the cache and a build variable hasn't been set to disable the cache
104109 if ("$(pipelineDisabledCache)" -ne "true" -and $env:NOCACHE -ne "true") {
105110 $imageBuilderBuildArgs = "$imageBuilderBuildArgs --image-info-source-path $(versionsBasePath)$(imageInfoVersionsPath)"
106111 }
107112
113+ echo "imageBuilderBuildArgs: $imageBuilderBuildArgs"
108114 echo "##vso[task.setvariable variable=imageBuilderBuildArgs]$imageBuilderBuildArgs"
109115 displayName: Set Image Builder Build Args
110116 - template : /eng/common/templates/steps/run-imagebuilder.yml@self
111117 parameters :
112118 name : BuildImages
113119 displayName : Build Images
114- serviceConnection : $(acr.serviceConnectionName)
120+ serviceConnection : $(acr-staging .serviceConnectionName)
115121 internalProjectName : ${{ parameters.internalProjectName }}
116122 dockerClientOS : ${{ parameters.dockerClientOS }}
117123 args : >
@@ -124,8 +130,8 @@ jobs:
124130 --retry
125131 --source-repo $(publicGitRepoUri)
126132 --digests-out-var 'builtImages'
127- --acr-subscription '$(acr.subscription)'
128- --acr-resource-group '$(acr.resourceGroup)'
133+ --acr-subscription '$(acr-staging .subscription)'
134+ --acr-resource-group '$(acr-staging .resourceGroup)'
129135 $(manifestVariables)
130136 $(imageBuilderBuildArgs)
131137 - template : /eng/common/templates/steps/publish-artifact.yml@self
@@ -172,7 +178,7 @@ jobs:
172178 # Manifest tool docs: https://eng.ms/docs/cloud-ai-platform/devdiv/one-engineering-system-1es/1es-docs/secure-supply-chain/custom-sbom-generation-workflows
173179 $images -Split ',' | ForEach-Object {
174180 echo "Generating SBOM for $_";
175- $formattedImageName = $_.Replace('$(acr.server)/$(stagingRepoPrefix)', "").Replace('/', '_').Replace(':', '_');
181+ $formattedImageName = $_.Replace('$(acr-staging .server)/$(stagingRepoPrefix)', "").Replace('/', '_').Replace(':', '_');
176182 $sbomChildDir = "$(sbomDirectory)/$formattedImageName";
177183 New-Item -Type Directory -Path $sbomChildDir > $null;
178184 & $dotnetPath "$manifestToolDllPath" `
0 commit comments