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