Add caching option for Docker images
Some checks failed
continuous-integration/drone/push Build is failing

This commit is contained in:
2021-01-17 23:06:15 +01:00
parent 1dac3e6210
commit 4b1f39042b
2 changed files with 117 additions and 7 deletions

View File

@@ -3,6 +3,24 @@ type: docker
name: frontend name: frontend
steps: steps:
# - name: Restore cache
# image: plugins/s3-cache
# settings:
# pull: true
# endpoint: https://storage.humenius.me
# access_key:
# from_secret: aws_access_key_id
# secret_key:
# from_secret: aws_secret_access_key
# restore: true
- name: Prepare cache
image: busybox
commands:
- mkdir -p /cache/${DRONE_REPO}/docker
volumes:
- name: cache
path: /cache
- name: Build and push frontend image - name: Build and push frontend image
image: plugins/docker image: plugins/docker
settings: settings:
@@ -12,9 +30,48 @@ steps:
from_secret: docker_password from_secret: docker_password
dockerfile: frontend/Dockerfile dockerfile: frontend/Dockerfile
context: frontend/ context: frontend/
use_cache: true
repo: docker.humenius.me/humenius/ts-onlinetime-ranks-frontend repo: docker.humenius.me/humenius/ts-onlinetime-ranks-frontend
registry: docker.humenius.me registry: docker.humenius.me
tags: ["latest", "${DRONE_SEMVER}"] tags: ["latest", "${DRONE_SEMVER}"]
volumes:
- name: docker
path: /var/lib/docker
# - name: rebuild
# image: plugins/s3-cache
# settings:
# pull: true
# endpoint: https://storage.humenius.me
# access_key:
# from_secret: aws_access_key_id
# secret_key:
# from_secret: aws_secret_access_key
# rebuild: true
# mount:
# - node_modules
# when:
# event: push
# - name: flush
# image: plugins/s3-cache:1
# settings:
# pull: true
# endpoint: https://storage.humenius.me
# access_key:
# from_secret: aws_access_key_id
# secret_key:
# from_secret: aws_secret_access_key
# flush: true
# flush_age: 14
volumes:
- name: cache
host:
path: /var/cache
- name: docker
host:
path: /var/cache/${DRONE_REPO}/docker
trigger: trigger:
branch: branch:
@@ -28,6 +85,14 @@ type: docker
name: frontend-dev name: frontend-dev
steps: steps:
- name: Prepare cache
image: busybox
commands:
- mkdir -p /cache/${DRONE_REPO}/docker
volumes:
- name: cache
path: /cache
- name: Build and push frontend dev image - name: Build and push frontend dev image
image: plugins/docker image: plugins/docker
settings: settings:
@@ -37,9 +102,21 @@ steps:
from_secret: docker_password from_secret: docker_password
dockerfile: frontend/Dockerfile dockerfile: frontend/Dockerfile
context: frontend/ context: frontend/
use_cache: true
repo: docker.humenius.me/humenius/ts-onlinetime-ranks-frontend repo: docker.humenius.me/humenius/ts-onlinetime-ranks-frontend
registry: docker.humenius.me registry: docker.humenius.me
tags: ["dev-${DRONE_COMMIT_SHA}"] tags: ["dev-${DRONE_COMMIT_SHA}"]
volumes:
- name: docker
path: /var/lib/docker
volumes:
- name: cache
host:
path: /var/cache
- name: docker
host:
path: /var/cache/${DRONE_REPO}/docker
trigger: trigger:
exclude: exclude:
@@ -52,6 +129,14 @@ type: docker
name: backend name: backend
steps: steps:
- name: Prepare cache
image: busybox
commands:
- mkdir -p /cache/${DRONE_REPO}/docker
volumes:
- name: cache
path: /cache
- name: Build and push backend image - name: Build and push backend image
image: plugins/docker image: plugins/docker
settings: settings:
@@ -60,10 +145,22 @@ steps:
password: password:
from_secret: docker_password from_secret: docker_password
dockerfile: backend/Dockerfile dockerfile: backend/Dockerfile
use_cache: true
context: backend/ context: backend/
repo: docker.humenius.me/humenius/ts-onlinetime-ranks-backend repo: docker.humenius.me/humenius/ts-onlinetime-ranks-backend
registry: docker.humenius.me registry: docker.humenius.me
tags: ["latest", "${DRONE_SEMVER}"] tags: ["latest", "${DRONE_SEMVER}"]
volumes:
- name: docker
path: /var/lib/docker
volumes:
- name: cache
host:
path: /var/cache
- name: docker
host:
path: /var/cache/${DRONE_REPO}/docker
trigger: trigger:
branch: branch:
@@ -77,6 +174,14 @@ type: docker
name: backend-dev name: backend-dev
steps: steps:
- name: Prepare cache
image: busybox
commands:
- mkdir -p /cache/${DRONE_REPO}/docker
volumes:
- name: cache
path: /cache
- name: Build and push backend dev image - name: Build and push backend dev image
image: plugins/docker image: plugins/docker
settings: settings:
@@ -86,9 +191,21 @@ steps:
from_secret: docker_password from_secret: docker_password
dockerfile: backend/Dockerfile dockerfile: backend/Dockerfile
context: backend/ context: backend/
use_cache: true
repo: docker.humenius.me/humenius/ts-onlinetime-ranks-backend repo: docker.humenius.me/humenius/ts-onlinetime-ranks-backend
registry: docker.humenius.me registry: docker.humenius.me
tags: ["dev-${DRONE_COMMIT_SHA}"] tags: ["dev-${DRONE_COMMIT_SHA}"]
volumes:
- name: docker
path: /var/lib/docker
volumes:
- name: cache
host:
path: /var/cache
- name: docker
host:
path: /var/cache/${DRONE_REPO}/docker
trigger: trigger:
exclude: exclude:

View File

@@ -1,7 +0,0 @@
# Environment variables declared in this file are automatically made available to Prisma.
# See the documentation for more detail: https://pris.ly/d/prisma-schema#using-environment-variables
# Prisma supports the native connection string format for PostgreSQL, MySQL and SQLite.
# See the documentation for all the connection string options: https://pris.ly/d/connection-strings
DATABASE_URL="postgresql://johndoe:randompassword@localhost:5432/mydb?schema=public"