1616variables :
1717 - template : ./variables/build.yml
1818 - template : ./variables/tests.yml
19+ - template : ./variables/containers.yml
1920 - name : Image.Name
20- value : ' ghcr.io/tomkerkhove/promitor-agent-scraper-ci'
21+ value : ' promitor-agent-scraper-ci'
22+ - name : Image.Repository
23+ value : ' $(Image.Organization)/$(Image.Name)'
24+ - name : Image.Name.Full
25+ value : ' $(Image.Registry)/$(Image.Repository)'
2126 - name : Image.TaggedName
22- value : ' $(Image.Name):$(Tags.PR)'
27+ value : ' $(Image.Name.Full ):$(Tags.PR)'
2328 - name : App.Version
2429 value : ' 0.0.0-$(Image.Tag)'
2530stages :
@@ -67,7 +72,7 @@ stages:
6772 value : ' 999'
6873 - name : Container.Network.Name
6974 value : ' ci-network'
70- - name : Image.ResourceDiscovery.Name
75+ - name : Image.ResourceDiscovery.Local
7176 value : ' local/promitor-resource-discovery:dev'
7277 - name : OpenTelemetry.Collector.Uri
7378 value : http://localhost:8889
@@ -79,35 +84,40 @@ stages:
7984 pool :
8085 vmImage : ubuntu-latest
8186 variables :
82- Image.TaggedName.OSAgnostic : ' $(Image.Name):$(Image.Tag)'
87+ Image.TaggedName.OSAgnostic : ' $(Image.Name.Full ):$(Image.Tag)'
8388 Tags.Experimental : ' experimental-$(OS.Name)'
8489 OS.Name : ' linux'
90+ Docker.Builder.Name : ' promitor-multiarch'
8591 steps :
8692 - download : current
8793 artifact : variables
8894 - template : templates/utils/read-variable-on-linux.yml
8995 parameters :
9096 variableName : ' Image.Tag'
97+ - template : templates/docker/linux-create-builder.yml
98+ parameters :
99+ builderName : ' $(Docker.Builder.Name)'
91100 - ${{ if not(eq(variables['Build.Reason'], 'PullRequest')) }} :
92- - template : templates/build-scraper -image.yml
101+ - template : templates/docker/linux-build -image.yml
93102 parameters :
94- imageName : ' $(Image.TaggedName )'
95- tags : ' --tag promitor-agent-scraper-ci '
96- buildArgs : ' VERSION="$(App.Version)" '
97- os : ' $(OS.Name) '
103+ builderName : ' $(Docker.Builder.Name )'
104+ dockerFile : ' ./src/Promitor.Agents.Scraper/Dockerfile.$(OS.Name) '
105+ tags : ' --tag $(Image.TaggedName) '
106+ buildArgs : ' --build-arg VERSION="$(App.Version)" '
98107 - ${{ if eq(variables['Build.Reason'], 'PullRequest') }} :
99- - template : templates/build-scraper -image.yml
108+ - template : templates/docker/linux-build -image.yml
100109 parameters :
101- imageName : ' $(Image.TaggedName )'
102- tags : ' --tag promitor-agent-scraper-ci --tag $(Image.TaggedName.OSAgnostic )'
103- buildArgs : ' VERSION="$(App.Version)" '
104- os : ' $(OS.Name) '
105- - template : templates/build-discovery -image.yml
110+ builderName : ' $(Docker.Builder.Name )'
111+ dockerFile : ' ./src/Promitor.Agents.Scraper/Dockerfile.$(OS.Name )'
112+ tags : ' --tag $(Image.TaggedName) --tag $(Image.TaggedName.OSAgnostic) '
113+ buildArgs : ' --build-arg VERSION="$(App.Version)" '
114+ - template : templates/docker/linux-build -image.yml
106115 parameters :
107- imageName : ' $(Image.ResourceDiscovery.Name)'
108- tags : ' --tag dev'
109- buildArgs : ' VERSION="$(App.Version)"'
110- os : ' $(OS.Name)'
116+ builderName : ' $(Docker.Builder.Name)'
117+ dockerFile : ' ./src/Promitor.Agents.ResourceDiscovery/Dockerfile.$(OS.Name)'
118+ tags : ' --tag $(Image.ResourceDiscovery.Name)'
119+ platforms : ' linux/amd64'
120+ buildArgs : ' --build-arg VERSION="$(App.Version)"'
111121 - template : templates/docker/create-network.yml
112122 parameters :
113123 networkName : ' $(Container.Network.Name)'
@@ -174,12 +184,14 @@ stages:
174184 agentName : ' OpenTelemetry'
175185 url : ' $(OpenTelemetry.Collector.Uri)/$(Agent.OpenTelemetry.Prometheus.ScrapeUri)'
176186 - ${{ if eq(variables['Build.Reason'], 'PullRequest') }} :
177- - template : templates/docker/push-image.yml
187+ - template : templates/docker/linux- push-image.yml
178188 parameters :
179- imageName : ' $(Image.TaggedName)'
180- - template : templates/docker/push-image.yml
181- parameters :
182- imageName : ' $(Image.TaggedName.OSAgnostic)'
189+ builderName : ' $(Docker.Builder.Name)'
190+ dockerFile : ' ./src/Promitor.Agents.Scraper/Dockerfile.$(OS.Name)'
191+ buildArgs : ' --build-arg VERSION="$(App.Version)"'
192+ tags : >
193+ --tag $(Image.TaggedName)
194+ --tag $(Image.TaggedName.OSAgnostic)
183195 - job : DockerBuildWindows
184196 displayName : Build Docker Image (Windows)
185197 condition : succeeded()
@@ -197,26 +209,32 @@ stages:
197209 - ${{ if eq(variables['Build.Reason'], 'PullRequest') }} :
198210 - template : templates/versioning/determine-pr-version.yml
199211 - ${{ if not(eq(variables['Build.Reason'], 'PullRequest')) }} :
200- - template : templates/build-scraper -image.yml
212+ - template : templates/docker/windows-build -image.yml
201213 parameters :
202- imageName : ' $(Image.TaggedName)'
203- buildArgs : ' VERSION="$(App.Version)"'
204- tags : ' --tag promitor-agent-scraper-ci --tag promitor-agent-scraper-ci-non-pr'
205- os : ' $(OS.Name)'
214+ imageDisplayName : ' $(Image.TaggedName)'
215+ dockerFile : ' ./src/Promitor.Agents.Scraper/Dockerfile.$(OS.Name)'
216+ buildArgs : ' --build-arg VERSION="$(App.Version)"'
217+ repository : ' $(Image.Name.Full)'
218+ tags : |
219+ $(Tags.PR)
206220 - template : templates/agents/prepare-scraper-ci-config.yml
207221 - template : templates/agents/prepare-discovery-ci-config.yml
208- - template : templates/build-discovery -image.yml
222+ - template : templates/docker/windows-build -image.yml
209223 parameters :
210- imageName : ' $(Image.ResourceDiscovery.Name)'
211- tags : ' --tag dev'
212- buildArgs : ' VERSION="$(App.Version)"'
213- os : ' $(OS.Name)'
214- - template : templates/build-scraper-image.yml
224+ imageDisplayName : ' $(Image.ResourceDiscovery.Local)'
225+ dockerFile : ' ./src/Promitor.Agents.ResourceDiscovery/Dockerfile.$(OS.Name)'
226+ buildArgs : ' --build-arg VERSION="$(App.Version)"'
227+ repository : ' local/promitor-resource-discovery'
228+ tags : ' dev'
229+ - template : templates/docker/windows-build-image.yml
215230 parameters :
216- imageName : ' $(Image.TaggedName)'
217- buildArgs : ' VERSION="$(App.Version)"'
218- tags : ' --tag promitor-agent-scraper-ci'
219- os : ' $(OS.Name)'
231+ imageDisplayName : ' $(Image.TaggedName)'
232+ dockerFile : ' ./src/Promitor.Agents.Scraper/Dockerfile.$(OS.Name)'
233+ buildArgs : ' --build-arg VERSION="$(App.Version)"'
234+ repository : ' $(Image.Name.Full)'
235+ tags : |
236+ $(Tags.PR)
237+ $(Image.Tag)
220238 - template : templates/docker/create-network.yml
221239 parameters :
222240 networkName : ' $(Container.Network.Name)'
@@ -245,7 +263,7 @@ stages:
245263 os : ' $(OS.Name)'
246264 - template : templates/agents/run-discovery-image.yml
247265 parameters :
248- imageName : ' $(Image.ResourceDiscovery.Name )'
266+ imageName : ' $(Image.ResourceDiscovery.Local )'
249267 containerName : ' $(Container.ResourceDiscovery.Name)'
250268 containerPort : ' $(Container.ResourceDiscovery.Port)'
251269 volumes : ' $(Pipeline.Workspace)\s\config\promitor\resource-discovery\:c:\config\'
@@ -275,6 +293,8 @@ stages:
275293 parameters :
276294 containerName : ' $(Container.ResourceDiscovery.Name)'
277295 - ${{ if eq(variables['Build.Reason'], 'PullRequest') }} :
278- - template : templates/docker/push-image.yml
296+ - template : templates/docker/windows- push-image.yml
279297 parameters :
280- imageName : ' $(Image.TaggedName)'
298+ imageDisplayName : ' $(Image.TaggedName)'
299+ repository : ' $(Image.Repository)'
300+ tags : ' $(Tags.PR)'
0 commit comments