File tree 1 file changed +27
-8
lines changed
1 file changed +27
-8
lines changed Original file line number Diff line number Diff line change 2
2
3
3
Execute docker build and push using docker caches.
4
4
5
+ ## Github Action
6
+
7
+ ``` yml
8
+
9
+ with :
10
+ image_name : devmasx/project-name
11
+ cache_stage_target : builder
12
+ build_params : --build-arg=NPM_TOKEN=${{secrets.NPM_TOKEN}}
13
+ ` `
5
14
# # Docker build
6
15
7
16
Use the latest docker image for use as cache
8
17
Docker commands example :
9
18
10
19
` ` `
20
+
11
21
npx cached-docker-build-push --image-name image-name --image-tag v1
22
+
12
23
` ` `
13
24
14
25
Execute this docker commands :
15
26
16
27
` ` `
28
+
17
29
docker pull image-name || exit 0
18
30
docker build --cache-from=image-name -t image-name -t image-name:v1
19
31
docker push image-name:v1
20
32
docker push image-name
33
+
21
34
` ` `
22
35
23
36
# # Docker build with multi stage
24
37
25
38
With multi stage we need to save the builder stage for use as cache. Use the flag `--cache-stage-target` for define the builder stage
26
39
27
40
```
41
+
28
42
npx cached-docker-build-push --cache-stage-target=builder --image-name image-name --image-tag v1
43
+
29
44
```
30
45
31
46
Execute this docker commands:
32
47
33
48
```
49
+
34
50
docker pull image-name: cache-builder
35
51
docker build \
36
- --cache-from=image-name:cache-builder \
37
- --target builder \
38
- -t image-name:cache-builder \
39
- .
52
+ --cache-from=image-name: cache-builder \
53
+ --target builder \
54
+ -t image-name: cache-builder \
55
+ .
40
56
41
57
docker build \
42
- --cache-from=image-name:cache-builder \
43
- -t image-name \
44
- -t image-name:v1 \
45
- .
58
+ --cache-from=image-name: cache-builder \
59
+ -t image-name \
60
+ -t image-name: v1 \
61
+ .
46
62
47
63
docker push image-name: cache-builder
48
64
docker push image-name: v1
49
65
docker push image-name
66
+
67
+ ```
68
+
50
69
```
You can’t perform that action at this time.
0 commit comments