Cache Docker builder stages in Drone CI for faster builds
Push intermediate builder stages as :builder tags and use cache_from to reuse dependency layers (pip install, npm ci) across builds.
This commit is contained in:
parent
8559c4b461
commit
f3cbeb3f5e
1 changed files with 36 additions and 1 deletions
37
.drone.yml
37
.drone.yml
|
|
@ -14,6 +14,21 @@ trigger:
|
||||||
- push
|
- push
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
|
- name: Cache builder stage
|
||||||
|
image: plugins/docker
|
||||||
|
settings:
|
||||||
|
username: viktorbarzin
|
||||||
|
password:
|
||||||
|
from_secret: dockerhub-token
|
||||||
|
repo: viktorbarzin/immoweb
|
||||||
|
dockerfile: frontend/Dockerfile
|
||||||
|
context: frontend
|
||||||
|
target: builder
|
||||||
|
cache_from:
|
||||||
|
- viktorbarzin/immoweb:builder
|
||||||
|
tags:
|
||||||
|
- builder
|
||||||
|
|
||||||
- name: Build frontend image
|
- name: Build frontend image
|
||||||
image: plugins/docker
|
image: plugins/docker
|
||||||
settings:
|
settings:
|
||||||
|
|
@ -23,6 +38,9 @@ steps:
|
||||||
repo: viktorbarzin/immoweb
|
repo: viktorbarzin/immoweb
|
||||||
dockerfile: frontend/Dockerfile
|
dockerfile: frontend/Dockerfile
|
||||||
context: frontend
|
context: frontend
|
||||||
|
cache_from:
|
||||||
|
- viktorbarzin/immoweb:builder
|
||||||
|
- viktorbarzin/immoweb:latest
|
||||||
tags:
|
tags:
|
||||||
- latest
|
- latest
|
||||||
- ${DRONE_BUILD_NUMBER}
|
- ${DRONE_BUILD_NUMBER}
|
||||||
|
|
@ -78,6 +96,21 @@ trigger:
|
||||||
- push
|
- push
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
|
- name: Cache builder stage
|
||||||
|
image: plugins/docker
|
||||||
|
settings:
|
||||||
|
username: viktorbarzin
|
||||||
|
password:
|
||||||
|
from_secret: dockerhub-token
|
||||||
|
repo: viktorbarzin/realestatecrawler
|
||||||
|
dockerfile: Dockerfile
|
||||||
|
context: .
|
||||||
|
target: builder
|
||||||
|
cache_from:
|
||||||
|
- viktorbarzin/realestatecrawler:builder
|
||||||
|
tags:
|
||||||
|
- builder
|
||||||
|
|
||||||
- name: Build API image
|
- name: Build API image
|
||||||
image: plugins/docker
|
image: plugins/docker
|
||||||
settings:
|
settings:
|
||||||
|
|
@ -87,10 +120,12 @@ steps:
|
||||||
repo: viktorbarzin/realestatecrawler
|
repo: viktorbarzin/realestatecrawler
|
||||||
dockerfile: Dockerfile
|
dockerfile: Dockerfile
|
||||||
context: .
|
context: .
|
||||||
|
cache_from:
|
||||||
|
- viktorbarzin/realestatecrawler:builder
|
||||||
|
- viktorbarzin/realestatecrawler:latest
|
||||||
tags:
|
tags:
|
||||||
- latest
|
- latest
|
||||||
- ${DRONE_BUILD_NUMBER}
|
- ${DRONE_BUILD_NUMBER}
|
||||||
cache_from: viktorbarzin/realestatecrawler:latest
|
|
||||||
|
|
||||||
- name: Update deployment
|
- name: Update deployment
|
||||||
image: alpine
|
image: alpine
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue