8000 feat(build): build multi-arch images (#2987) · python-gitlab/python-gitlab@29f617d · GitHub
[go: up one dir, main page]

Skip to content

Commit 29f617d

Browse files
authored
feat(build): build multi-arch images (#2987)
1 parent ae132e7 commit 29f617d

File tree

1 file changed

+29
-4
lines changed

1 file changed

+29
-4
lines changed

.gitlab-ci.yml

Lines changed: 29 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,42 @@
11
image: python:3.12
22

33
stages:
4+
- build
45
- deploy
56
- promote
67

7-
deploy-images:
8-
stage: deploy
8+
build-images:
9+
stage: build
910
image:
1011
name: gcr.io/kaniko-project/executor:debug
1112
entrypoint: [""]
1213
script:
13-
- executor --context $CI_PROJECT_DIR --dockerfile $CI_PROJECT_DIR/Dockerfile --destination $CI_REGISTRY_IMAGE:$CI_COMMIT_TAG-alpine
14-
- executor --context $CI_PROJECT_DIR --dockerfile $CI_PROJECT_DIR/Dockerfile --destination $CI_REGISTRY_IMAGE:$CI_COMMIT_TAG-slim-bullseye --build-arg PYTHON_FLAVOR=slim-bullseye
14+
- executor --context $CI_PROJECT_DIR --dockerfile $CI_PROJECT_DIR/Dockerfile --destination $CI_REGISTRY_IMAGE/$CI_RUNNER_EXECUTABLE_ARCH:$CI_COMMIT_TAG-alpine
15+
- executor --context $CI_PROJECT_DIR --dockerfile $CI_PROJECT_DIR/Dockerfile --destination $CI_REGISTRY_IMAGE/$CI_RUNNER_EXECUTABLE_ARCH:$CI_COMMIT_TAG-slim-bullseye --build-arg PYTHON_FLAVOR=slim-bullseye
16+
rules:
17+
- if: $CI_COMMIT_TAG
18+
tags:
19+
- $RUNNER_TAG
20+
parallel:
21+
matrix:
22+
# See tags in https://docs.gitlab.com/ee/ci/runners/hosted_runners/linux.html
23+
- RUNNER_TAG: saas-linux-medium-amd64
24+
- RUNNER_TAG: saas-linux-medium-arm64
25+
26+
deploy-images:
27+
stage: deploy
28+
image:
29+
name: mplatform/manifest-tool:alpine-v2.0.4@sha256:38b399ff66f9df247af59facceb7b60e2cd01c2d649aae318da7587efb4bbf87
30+
entrypoint: [""]
31+
script:
32+
- manifest-tool --username $CI_REGISTRY_USER --password $CI_REGISTRY_PASSWORD push from-args
33+
--platforms linux/amd64,linux/arm64
34+
--template $CI_REGISTRY_IMAGE/OS/ARCH:$CI_COMMIT_TAG-alpine
35+
--target $CI_REGISTRY_IMAGE:$CI_COMMIT_TAG-alpine
36+
- manifest-tool --username $CI_REGISTRY_USER --password $CI_REGISTRY_PASSWORD push from-args
37+
--platforms linux/amd64,linux/arm64
38+
--template $CI_REGISTRY_IMAGE/OS/ARCH:$CI_COMMIT_TAG-slim-bullseye
39+
--target $CI_REGISTRY_IMAGE:$CI_COMMIT_TAG-slim-bullseye
1540
rules:
1641
- if: $CI_COMMIT_TAG
1742

0 commit comments

Comments
 (0)
0