Skip to content
This repository was archived by the owner on Mar 30, 2026. It is now read-only.

Commit bbe77ef

Browse files
authored
Merge pull request #31 from keboola/pepa_PS-2937_consolidateImages
PS-2937 Build `docker-python-databricks` and `docker-python-mlflow`
2 parents 7591eac + 9c2ea93 commit bbe77ef

1 file changed

Lines changed: 56 additions & 25 deletions

File tree

azure-pipelines.yml

Lines changed: 56 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -6,51 +6,82 @@ variables:
66
value: ${{ replace(variables['Build.SourceBranch'],'refs/tags/','') }}
77
- name: isTagBuild
88
value: ${{ startsWith(variables['Build.SourceBranch'],'refs/tags/') }}
9-
- name: dockerRegistryServiceConnection
10-
value: '85ab7e7c-62ce-49e0-b201-bf56e6f3949e'
11-
- name: imageRepository
12-
value: 'docker-custom-python'
9+
- name: azureContainerRegistryConnection
10+
value: Keboola ACR
11+
- name: azureContainerRegistry
12+
value: keboola.azurecr.io
13+
- name: imageRepository_base
14+
value: docker-custom-python
15+
- name: imageRepository_mlflow
16+
value: docker-python-mlflow
17+
- name: imageRepository_databricks
18+
value: docker-python-databricks
1319

1420
trigger:
1521
- refs/tags/*
1622

1723
steps:
1824
- script: docker info
19-
displayName: 'Info'
25+
displayName: Info
2026

2127
- script: echo '##vso[task.setvariable variable=imageTag]$(Build.BuildId)'
22-
displayName: "Set the imageTag to buildId if it's not a tag build"
28+
displayName: Set the imageTag to buildId if it's not a tag build
2329
condition: eq(variables['isTagBuild'], 'false')
2430

31+
- script: docker build -t docker-custom-python .
32+
displayName: Build Docker image
33+
2534
- task: Docker@2
35+
displayName: Login to ACR
2636
inputs:
27-
containerRegistry: 'keboola-4338'
28-
repository: 'docker-custom-python'
29-
command: 'build'
30-
Dockerfile: '**/Dockerfile'
31-
tags: |
32-
latest
33-
$(imageTag)
37+
command: login
38+
containerRegistry: $(azureContainerRegistryConnection)
39+
condition: eq(variables['isTagBuild'], 'true')
3440

41+
# Push base image
3542
- script: |
43+
set -Eeuo pipefail
3644
docker login -u="$(QUAY_USERNAME)" -p="$(QUAY_PASSWORD)" quay.io
37-
docker tag keboola.azurecr.io/docker-custom-python quay.io/$(KBC_APP_REPOSITORY):$(imageTag)
38-
docker tag keboola.azurecr.io/docker-custom-python quay.io/$(KBC_APP_REPOSITORY):latest
39-
docker images
40-
docker push quay.io/$(KBC_APP_REPOSITORY):$(imageTag)
41-
docker push quay.io/$(KBC_APP_REPOSITORY):latest
45+
docker tag docker-custom-python quay.io/keboola/$(imageRepository_base):$(imageTag)
46+
docker tag docker-custom-python quay.io/keboola/$(imageRepository_base):latest
47+
docker push -a quay.io/keboola/$(imageRepository_base)
4248
condition: eq(variables['isTagBuild'], 'true')
43-
displayName: 'Push latest to quay.io'
49+
displayName: Push $(imageRepository_base) to quay.io
4450
45-
- task: Docker@2
51+
- script: |
52+
set -Eeuo pipefail
53+
docker tag docker-custom-python $(azureContainerRegistry)/$(imageRepository_base):$(imageTag)
54+
docker push -a $(azureContainerRegistry)/$(imageRepository_base)
55+
displayName: Push $(imageRepository_base) to ACR
56+
condition: eq(variables['isTagBuild'], 'true')
57+
58+
# Push MLFlow
59+
- task: ECRPushImage@1
4660
inputs:
47-
containerRegistry: 'keboola-4338'
48-
repository: 'docker-custom-python'
49-
command: 'push'
50-
tags: '$(imageTag)'
61+
awsCredentials: Production - ECR Distribution - MLFlow
62+
regionName: us-east-1
63+
repositoryName: keboola/$(imageRepository_mlflow)
64+
sourceImageName: docker-custom-python
65+
pushTag: $(imageTag)
66+
displayName: Push $(imageRepository_mlflow) to ECR
67+
condition: eq(variables['isTagBuild'], 'true')
68+
69+
- script: |
70+
set -Eeuo pipefail
71+
docker tag docker-custom-python $(azureContainerRegistry)/$(imageRepository_mlflow):$(imageTag)
72+
docker push -a $(azureContainerRegistry)/$(imageRepository_mlflow)
73+
displayName: Push $(imageRepository_mlflow) to ACR
74+
condition: eq(variables['isTagBuild'], 'true')
75+
76+
# Push Databricks
77+
- script: |
78+
set -Eeuo pipefail
79+
docker tag docker-custom-python $(azureContainerRegistry)/$(imageRepository_databricks):$(imageTag)
80+
docker push -a $(azureContainerRegistry)/$(imageRepository_databricks)
81+
displayName: Push $(imageRepository_databricks) to ACR
5182
condition: eq(variables['isTagBuild'], 'true')
52-
displayName: 'Push latest to ACR'
5383
84+
# Publish the latest tag info
5485
- script: printf "%s" "$(imageTag)" > base-python-artifact
5586
condition: eq(variables['isTagBuild'], 'true')
5687
displayName: Create artifact

0 commit comments

Comments
 (0)