ci: work pool + Gitee pull deployment (Dockerfile, prefect.yaml)

This commit is contained in:
yeuimu
2026-07-23 08:18:56 +00:00
parent 4cba1da4e1
commit 3e32238a1e
3 changed files with 102 additions and 0 deletions
+15
View File
@@ -0,0 +1,15 @@
FROM python:3.12-slim
RUN apt-get update && apt-get install -y --no-install-recommends git curl ca-certificates \
&& rm -rf /var/lib/apt/lists/*
RUN curl -LsSf https://astral.sh/uv/install.sh | sh
ENV PATH="/root/.local/bin:$PATH"
WORKDIR /opt/app
COPY pyproject.toml uv.lock ./
RUN uv sync --frozen --no-install-project
ENV PATH="/opt/app/.venv/bin:$PATH"
CMD ["prefect", "worker", "start", "-p", "inkreach-pool", "--type", "process"]
+9
View File
@@ -11,5 +11,14 @@ services:
- prefect-data:/root/.prefect - prefect-data:/root/.prefect
restart: unless-stopped restart: unless-stopped
prefect-worker:
build: .
container_name: prefect-worker
environment:
PREFECT_API_URL: http://prefect-server:4200/api
depends_on:
- prefect-server
restart: unless-stopped
volumes: volumes:
prefect-data: prefect-data:
+78
View File
@@ -0,0 +1,78 @@
prefect-version: 3.7.8
name: inkreach-prefect
# 每次 flow run 前:从 Gitee clone 最新代码(token 运行时从 Secret 解析,不落盘)
pull:
- prefect.deployments.steps.git_clone:
repository: "https://oauth2:{{ prefect.blocks.secret.gitee-token }}@gitee.com/inkreachZLL/inkreach-prefect.git"
branch: master
defaults:
work_pool:
name: inkreach-pool
deployments:
# ---------- RIIN ----------
- name: riin-order-sync
entrypoint: flows/riin/order_sync.py:riin_order_sync
- name: riin-incremental-sync
entrypoint: flows/riin/incremental_sync.py:riin_incremental_sync
schedules:
- cron: "0 * * * *"
timezone: "Asia/Shanghai"
- name: riin-recent-sync
entrypoint: flows/riin/recent_sync.py:riin_recent_sync
schedules:
- cron: "30 * * * *"
timezone: "Asia/Shanghai"
- name: riin-refresh-pending
entrypoint: flows/riin/refresh_pending.py:riin_refresh_pending
schedules:
- cron: "0 */3 * * *"
timezone: "Asia/Shanghai"
- name: riin-by-orders-sync
entrypoint: flows/riin/by_orders.py:riin_by_orders_sync
- name: riin-verify
entrypoint: flows/riin/verify.py:riin_verify
schedules:
- cron: "0 6 * * *"
timezone: "Asia/Shanghai"
# ---------- SDS ----------
- name: sds-order-sync
entrypoint: flows/sds/order_sync.py:sds_order_sync
- name: sds-incremental-sync
entrypoint: flows/sds/incremental_sync.py:sds_incremental_sync
schedules:
- cron: "15 * * * *"
timezone: "Asia/Shanghai"
- name: sds-recent-sync
entrypoint: flows/sds/recent_sync.py:sds_recent_sync
schedules:
- cron: "45 * * * *"
timezone: "Asia/Shanghai"
- name: sds-refresh-pending
entrypoint: flows/sds/refresh_pending.py:sds_refresh_pending
schedules:
- cron: "0 */2 * * *"
timezone: "Asia/Shanghai"
- name: sds-refresh-100-prefix
entrypoint: flows/sds/refresh_100_prefix.py:sds_refresh_100_prefix
schedules:
- cron: "30 */2 * * *"
timezone: "Asia/Shanghai"
- name: sds-verify
entrypoint: flows/sds/verify.py:sds_verify
schedules:
- cron: "0 7 * * *"
timezone: "Asia/Shanghai"