APP_VERSION aus Build-Arg statt Hardcoding im Code
Version wird jetzt beim Docker-Build per --build-arg injiziert. Release-Workflow leitet sie aus dem Tag-Namen ab, Dev-Workflow nutzt den Short-SHA. Verhindert Version-Mismatch bei Releases. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.6
parent
50bb72803f
commit
6d07b12015
@@ -27,7 +27,10 @@ jobs:
|
||||
|
||||
- name: Build and push amd64 image
|
||||
run: |
|
||||
SHORT_SHA="${GITHUB_SHA:0:7}"
|
||||
|
||||
docker build --pull --platform linux/amd64 \
|
||||
--build-arg APP_VERSION="dev-${SHORT_SHA}" \
|
||||
-t "${IMAGE}:dev-amd64" \
|
||||
-t "${IMAGE}:dev-${GITHUB_SHA}-amd64" \
|
||||
.
|
||||
@@ -47,7 +50,10 @@ jobs:
|
||||
|
||||
- name: Build and push arm64 image
|
||||
run: |
|
||||
SHORT_SHA="${GITHUB_SHA:0:7}"
|
||||
|
||||
docker build --pull --platform linux/arm64 \
|
||||
--build-arg APP_VERSION="dev-${SHORT_SHA}" \
|
||||
-t "${IMAGE}:dev-arm64" \
|
||||
-t "${IMAGE}:dev-${GITHUB_SHA}-arm64" \
|
||||
.
|
||||
|
||||
@@ -23,8 +23,10 @@ jobs:
|
||||
- name: Build and push amd64 release image
|
||||
run: |
|
||||
RELEASE_TAG="${GITHUB_REF_NAME}"
|
||||
VERSION="${RELEASE_TAG#v}"
|
||||
|
||||
docker build --pull --platform linux/amd64 \
|
||||
--build-arg APP_VERSION="${VERSION}" \
|
||||
-t "${IMAGE}:${RELEASE_TAG}-amd64" \
|
||||
.
|
||||
docker push "${IMAGE}:${RELEASE_TAG}-amd64"
|
||||
@@ -43,8 +45,10 @@ jobs:
|
||||
- name: Build and push arm64 release image
|
||||
run: |
|
||||
RELEASE_TAG="${GITHUB_REF_NAME}"
|
||||
VERSION="${RELEASE_TAG#v}"
|
||||
|
||||
docker build --pull --platform linux/arm64 \
|
||||
--build-arg APP_VERSION="${VERSION}" \
|
||||
-t "${IMAGE}:${RELEASE_TAG}-arm64" \
|
||||
.
|
||||
docker push "${IMAGE}:${RELEASE_TAG}-arm64"
|
||||
|
||||
@@ -15,6 +15,8 @@ COPY bin/config.yml.dist /app/config.yml.dist
|
||||
|
||||
RUN mkdir -p /app/data/recordings
|
||||
|
||||
ARG APP_VERSION=dev
|
||||
ENV APP_VERSION=${APP_VERSION}
|
||||
ENV DATA_DIR=/app/data
|
||||
ENV STATIC_DIR=/app/frontend/static
|
||||
ENV PYTHONUNBUFFERED=1
|
||||
|
||||
+1
-1
@@ -17,7 +17,7 @@ from models import init_db, get_session, Job, Station, Recording as RecordingMod
|
||||
from recorder import RecordingManager, format_elapsed
|
||||
from scheduler import StreamScheduler
|
||||
|
||||
APP_VERSION = "3.1.0"
|
||||
APP_VERSION = os.environ.get("APP_VERSION", "dev")
|
||||
|
||||
DATA_DIR = os.environ.get("DATA_DIR", "/app/data")
|
||||
STATIC_DIR = os.environ.get("STATIC_DIR", "/app/frontend/static")
|
||||
|
||||
Reference in New Issue
Block a user