diff --git a/.woodpecker.yml b/.woodpecker.yml index 750cc0c..ffff13f 100644 --- a/.woodpecker.yml +++ b/.woodpecker.yml @@ -32,6 +32,8 @@ steps: - "sha-${CI_COMMIT_SHA:0:8}" cache_from: "git.ihateamerica.ru/dv/intrabot:buildcache" cache_to: "git.ihateamerica.ru/dv/intrabot:buildcache" + build_args: + - "GIT_COMMIT=${CI_COMMIT_SHA:0:8}" when: - event: push branch: main @@ -54,6 +56,8 @@ steps: - "sha-${CI_COMMIT_SHA:0:8}" # всегда — нужно для отката cache_from: "git.ihateamerica.ru/dv/intrabot:buildcache" cache_to: "git.ihateamerica.ru/dv/intrabot:buildcache" + build_args: + - "GIT_COMMIT=${CI_COMMIT_SHA:0:8}" when: - event: tag diff --git a/Dockerfile b/Dockerfile index 18ca803..a6c9614 100644 --- a/Dockerfile +++ b/Dockerfile @@ -7,6 +7,11 @@ RUN mkdir -p /app/data COPY requirements.txt . RUN pip install --no-cache-dir -r requirements.txt +ARG GIT_COMMIT=dev +ARG DOCKER_IMAGE_CREATED=unknown +ENV GIT_COMMIT=$GIT_COMMIT +ENV BUILD_TIME=$DOCKER_IMAGE_CREATED + COPY . . # Продакшен: Gunicorn (gthread, 1 worker) обслуживает Flask. diff --git a/deploy/docker-compose.yml b/deploy/docker-compose.yml index 3dd693d..8682bc9 100644 --- a/deploy/docker-compose.yml +++ b/deploy/docker-compose.yml @@ -22,7 +22,7 @@ services: intradbot: - image: git.example.com/YOUR_USER/intradbot:latest # ← замени на свой хост/юзер + image: git.ihateamerica.ru/dv/intrabot:latest # ← замени на свой хост/юзер restart: always env_file: .env ports: diff --git a/web/server.py b/web/server.py index c5f8dfc..4679742 100644 --- a/web/server.py +++ b/web/server.py @@ -106,6 +106,14 @@ def health(): return jsonify({"status": "ok"}), 200 +@app.route("/version") +def version(): + return jsonify({ + "commit": os.environ.get("GIT_COMMIT", "dev"), + "built_at": os.environ.get("BUILD_TIME", "unknown"), + }) + + # ── Дашборд ──────────────────────────────────────────────────────────────────── @app.route("/")