This commit is contained in:
parent
a427f2c364
commit
f2bf0d3243
2 changed files with 12 additions and 5 deletions
|
|
@ -30,8 +30,13 @@ steps:
|
|||
tags:
|
||||
- latest
|
||||
- "sha-${CI_COMMIT_SHA:0:8}"
|
||||
# Берём inline-кэш из latest; ARG GIT_COMMIT теперь в конце Dockerfile — кэш не сбивается
|
||||
cache_from:
|
||||
from_secret: forgejo_image # значение: git.example.com/user/intradesk-monitor:latest
|
||||
from_secret: forgejo_image
|
||||
# mode=max кэширует все промежуточные слои (apk, npm install) в отдельный манифест
|
||||
cache_to:
|
||||
from_secret: forgejo_image_cache # значение: <registry>/<repo>:buildcache
|
||||
rewrite_timestamp: false
|
||||
build_args:
|
||||
- "GIT_COMMIT=${CI_COMMIT_SHA:0:8}"
|
||||
- "BUILDKIT_INLINE_CACHE=1"
|
||||
|
|
|
|||
10
Dockerfile
10
Dockerfile
|
|
@ -6,21 +6,23 @@ ENV NODE_ENV=production
|
|||
ENV LANG=C.UTF-8
|
||||
ENV LC_ALL=C.UTF-8
|
||||
|
||||
# Build-аргумент для трассировки коммита (используется при сборке образа)
|
||||
ARG GIT_COMMIT=unknown
|
||||
ENV GIT_COMMIT=${GIT_COMMIT}
|
||||
|
||||
# Зависимости для better-sqlite3 (нужна компиляция)
|
||||
# Слой кэшируется пока не меняется базовый образ
|
||||
RUN apk add --no-cache python3 make g++
|
||||
|
||||
COPY package*.json ./
|
||||
RUN npm install --omit=dev --no-audit --no-fund \
|
||||
&& npm cache clean --force
|
||||
|
||||
# Код приложения — копируется после зависимостей
|
||||
COPY server.js ./
|
||||
COPY refresh-service.js ./
|
||||
COPY public/ ./public/
|
||||
|
||||
# Build-аргумент объявлен ПОСЛЕ тяжёлых слоёв — не сбивает кэш при каждом коммите
|
||||
ARG GIT_COMMIT=unknown
|
||||
ENV GIT_COMMIT=${GIT_COMMIT}
|
||||
|
||||
# Папка для базы данных
|
||||
RUN mkdir -p /data
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue