@@ -2,7 +2,7 @@ version: 2.1
2
2
3
3
orbs :
4
4
shellcheck : circleci/shellcheck@3.2.0
5
- docker : circleci/docker@2.5.0
5
+ docker : circleci/docker@2.8.1
6
6
go : circleci/go@1.11.0
7
7
8
8
commands :
@@ -11,7 +11,7 @@ commands:
11
11
Build and optionally deploy a Docker images
12
12
parameters :
13
13
dockerfile :
14
- default : Dockerfile
14
+ default : Dockerfile.multistage
15
15
description : ' Name of dockerfile to use, defaults to Dockerfile'
16
16
type : string
17
17
extra_build_args :
@@ -50,6 +50,11 @@ commands:
50
50
description : |
51
51
No output timeout for build step
52
52
type : string
53
+ use-buildkit :
54
+ default : false
55
+ description : |
56
+ Use buildkit to build the image. Available on Docker >= 18.09.0 https://docs.docker.com/develop/develop-images/build_enhancements/
57
+ type : boolean
53
58
steps :
54
59
- when :
55
60
condition : <<parameters.cache_from>>
@@ -76,7 +81,7 @@ commands:
76
81
done
77
82
done
78
83
79
- docker build
84
+ docker buildx build
80
85
<<#parameters.extra_build_args>><<parameters.extra_build_args>><</parameters.extra_build_args>>
81
86
\
82
87
--cache-from <<parameters.cache_from>> \
@@ -102,7 +107,7 @@ commands:
102
107
done
103
108
done
104
109
105
- docker build
110
+ docker buildx build
106
111
<<#parameters.extra_build_args>><<parameters.extra_build_args>><</parameters.extra_build_args>>
107
112
\
108
113
-f <<parameters.path>>/<<parameters.dockerfile>> \
@@ -198,7 +203,9 @@ commands:
198
203
199
204
jobs :
200
205
build :
201
- executor : docker/machine
206
+ machine :
207
+ image : ubuntu-2404:edge
208
+ resource_class : large
202
209
steps :
203
210
- checkout
204
211
- docker-build :
@@ -208,6 +215,7 @@ jobs:
208
215
cache_from : docker.io/sameersbn/gitlab:latest
209
216
extra_build_args : ' --build-arg VCS_REF=${CIRCLE_TAG:-${CIRCLE_SHA1}} --build-arg BUILD_DATE="$(date +"%Y-%m-%d %H:%M:%S%:z")"'
210
217
no_output_timeout : 45m
218
+ use-buildkit : true
211
219
- docker-save :
212
220
registry : docker.io,quay.io
213
221
image : sameersbn/gitlab
0 commit comments