1
1
variables :
2
- DOCKER_IMAGE_NAME : $CI_REGISTRY_IMAGE
3
2
DOCKER_IMAGE_TAG : $CI_COMMIT_SHA
4
- DOCKER_IMAGE_TAG_PREFIX : " "
5
- DOCKER_IMAGE_TAG_SUFFIX : " "
6
- DOCKER_IMAGE_FULL_TAG : $DOCKER_IMAGE_NAME:$DOCKER_IMAGE_TAG_PREFIX$DOCKER_IMAGE_TAG$DOCKER_IMAGE_TAG_SUFFIX
3
+ DOCKER_IMAGE_NAME : $CI_PROJECT_NAME
4
+ DOCKER_IMAGE_FULL_TAG : $CI_REGISTRY_IMAGE/$DOCKER_IMAGE_NAME:$DOCKER_IMAGE_TAG
7
5
DOCKER_VERSION : 27.4
8
6
9
7
# Build Docker image for test
@@ -15,6 +13,7 @@ variables:
15
13
variables :
16
14
DOCKER_BUILDKIT : 1
17
15
DOCKER_PLATFORM : " linux/amd64"
16
+ # TODO: Make target optional
18
17
DOCKER_TARGET : dev
19
18
before_script :
20
19
- apk add --no-cache bash git
@@ -23,10 +22,12 @@ variables:
23
22
- docker buildx inspect --bootstrap
24
23
- echo $CI_REGISTRY_PASSWORD | docker login -u $CI_REGISTRY_PASSWORD --password-stdin $CI_REGISTRY
25
24
- echo "Building $DOCKER_IMAGE_FULL_TAG - Cache from $DOCKER_IMAGE_NAME:cache"
25
+ # remove \ from platform to
26
+ - export SUFFIX=$(echo $DOCKER_PLATFORM | sed 's/\///')
26
27
- |
27
28
docker buildx build --push \
28
29
--target $DOCKER_TARGET \
29
- --tag $DOCKER_IMAGE_FULL_TAG \
30
+ --tag $DOCKER_IMAGE_FULL_TAG-$SUFFIX \
30
31
--platform $DOCKER_PLATFORM \
31
32
--cache-from type=registry,ref=$DOCKER_IMAGE_NAME:cache \
32
33
--cache-to type=registry,ref=$DOCKER_IMAGE_NAME:cache \
@@ -39,9 +40,8 @@ variables:
39
40
- docker:$DOCKER_VERSION-dind
40
41
script :
41
42
- docker manifest create $DOCKER_IMAGE_FULL_TAG \
42
- --amend $DOCKER_IMAGE_NAME:$DOCKER_IMAGE_TAG_PREFIX$DOCKER_IMAGE_TAG-amd64 \
43
- --amend $DOCKER_IMAGE_NAME:$DOCKER_IMAGE_TAG_PREFIX$DOCKER_IMAGE_TAG-arm64
44
-
43
+ --amend $DOCKER_IMAGE_FULL_TAG-linuxamd64 \
44
+ --amend $DOCKER_IMAGE_FULL_TAG-linuxarm64
45
45
- docker manifest push $DOCKER_IMAGE_FULL_TAG
46
46
47
47
.promote-image :
0 commit comments