资讯动态

PanWatch 从源码构建 Docker 镜像:make build 与 GitHub Actions 发布流程

发布时间:2026/10/1 21:29:02 来源:尧图企业网站定制
PanWatch 从源码构建 Docker 镜像make build 与 GitHub Actions 发布流程【免费下载链接】PanWatchPanWatch — AI stock monitoring for A-shares, HK US markets, powered by TradingAgents. Portfolio insights, real-time alerts automated reports.盯盘侠覆盖 A股/港股/美股的 AI 盯盘、持仓分析、实时提醒与自动报告。项目地址: https://gitcode.com/GitHub_Trending/pa/PanWatchPanWatch盯盘侠是一款覆盖 A股/港股/美股的 AI 盯盘工具提供持仓分析、实时提醒与自动报告。本文将从源码出发讲解如何用make build一键构建 PanWatch Docker 镜像以及它背后的 GitHub Actions 多平台发布流程。一、为什么值得自己构建镜像官方镜像发布在 Docker Hub但自己动手构建能带来三个好处验证代码本地构建即本地测试构建通过说明依赖和前端打包都没问题定制版本可以在自己的分支上打私有版本标签只推送到自己的仓库理解架构PanWatch 采用「Node 前端构建 Python 后端运行」的多阶段 Dockerfile是学习生产级镜像瘦身的好样本。构建完成后你得到的就是一个可直接docker run的 PanWatch 容器启动后访问http://localhost:8000即可使用 AI 盯盘、实时提醒等功能。二、一键构建步骤make build 详解2.1 准备工作先克隆仓库只读使用即可git clone https://gitcode.com/GitHub_Trending/pa/PanWatch cd PanWatch本地构建需要三个工具Node.js前端、pnpm包管理、Docker。Makefile 中的build目标会自动检测操作系统并选择对应脚本Linux/macOS执行 build.shWindows执行 scripts/build.ps1PowerShell 版2.2 执行构建make build VERSION0.1.0版本号是必填参数不传会提示Usage: make build VERSIONversion。build.sh 会依次完成四步构建前端在frontend/目录执行pnpm install --frozen-lockfile pnpm build复制静态产物把frontend/dist/拷到临时static/目录供 Dockerfile 使用构建镜像docker build --platform linux/amd64 --build-arg VERSION0.1.0 -t sunxiao0721/panwatch:0.1.0 .固定 amd64 架构以适配大多数服务器和 NAS追加 latest 标签非 latest 版本会额外打一个latest标签方便快速部署。构建完成后脚本会直接打印后续命令# 运行容器 docker run -d -p 8000:8000 -v panwatch_data:/app/data sunxiao0721/panwatch:0.1.0 # 推送镜像需先 docker login docker push sunxiao0721/panwatch:0.1.0三、Dockerfile 多阶段构建解读Dockerfile 是整个构建的核心采用两阶段设计来控制镜像体积阶段基础镜像作用Stage 1前端构建node:24.14.0-alpine用 corepack 固定 pnpm 9.15.9 版本pnpm build产出静态文件Stage 2运行环境python:3.11-slim安装时区数据、中文字体、Playwright Chromium 依赖拷贝后端源码与前端产物几个值得注意的工程细节版本号注入构建时通过ARG VERSION写入 VERSION 文件当前仓库中为dev运行时版本即可追溯前端产物挂载COPY --fromfrontend-builder把 dist 直接拷入./static/最终镜像里不含 Node 环境健康检查内置HEALTHCHECK每 30 秒请求/api/health探活可覆盖时区默认TZAsia/Shanghai可用-e TZ...覆盖Playwright 延迟安装浏览器在首次启动时自动装到数据卷data目录进一步减小镜像体积。数据统一存放于/app/data通过-v panwatch_data:/app/data持久化升级镜像时持仓、提醒配置等数据不会丢失。四、GitHub Actions 自动发布流程正式版本不依赖本地构建而是由.github/workflows/release.yml全自动完成流程如下推送 tag (x.y.z) 或 手动触发 ↓ 跑后端单测pytest tests/ -x -q ↓ 跑 marketdata 包测试 ↓ QEMU buildx 多平台构建amd64 arm64 ↓ 登录 Docker Hub推送 version / latest 标签 ↓ 生成 release-notes.md → 创建 Release → Telegram 通知4.1 两种触发方式Tag 推送推送形如0.2.3的 tag注意不带 v 前缀匹配规则为*.*.*自动触发手动触发通过workflow_dispatch指定version、是否推送latest、目标平台默认linux/amd64,linux/arm64。4.2 版本解析的兼容性处理workflow 中的 Resolve version 步骤release.yml会把带v前缀的 tag 自动去掉前缀因此v0.2.3和0.2.3都能正确发布并生成对应 Docker 标签版本号标签 可选 latest。4.3 质量门禁构建前必须跑通全部后端单测和 marketdata 包测试测试不过则发布中止仓库还提供了 scripts/pre_release_check.sh可在发布前手动执行单测 Python 编译检查 前端构建加--with-agent-smoke参数还会触发 4 个 AI Agent日报、盘前展望、图表分析师、盘中监控做真实冒烟验证通过 make install-hooks 安装 scripts/pre-push 钩子后每次git push前都会自动跑单测把问题拦在推送之前。五、本地构建 vs 自动发布怎么选场景推荐方式体验新分支、定制改动make build VERSIONdev本地构建团队发布正式版本打 tag让 GitHub Actions 自动构建双架构镜像NAS / ARM 设备部署使用 Actions 发布的linux/arm64镜像本地 build.sh 只产 amd64总结PanWatch 的构建发布链路非常清晰make build负责本地一键构建build.sh 串起前端打包与 Docker 多阶段构建GitHub Actions 的 release.yml 则在测试门禁通过后自动构建 amd64/arm64 双架构镜像并推送到 Docker Hub附带 Release 说明与即时通知。无论你是想尝鲜新特性还是自部署 AI 盯盘都能在这条流水线上找到适合自己的方式。【免费下载链接】PanWatchPanWatch — AI stock monitoring for A-shares, HK US markets, powered by TradingAgents. Portfolio insights, real-time alerts automated reports.盯盘侠覆盖 A股/港股/美股的 AI 盯盘、持仓分析、实时提醒与自动报告。项目地址: https://gitcode.com/GitHub_Trending/pa/PanWatch创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑