新闻详情

新闻详情

首页 / 资讯中心 / 详情

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

发布时间:2026/10/1 21:28:59来源:尧图网络
PanWatch 从源码构建 Docker 镜像:make build 与 GitHub Actions 发布流程
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),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

WZ文件编辑实战:Harepacker resurrected 与 Anchor 锚点调整 2026/10/1 22:26:36

WZ文件编辑实战:Harepacker resurrected 与 Anchor 锚点调整

简介:这是一份面向冒险岛玩家的 WZ 编辑器改版源码包,内容对应 Harepacker-resurrected 项目主线分支。工具以 C# 编写,在原有版本基础上优化了用户界面,并支持修改游戏密钥,可配合密钥数据管理功能处理加密资源&#…

阅读更多 →
2026年度优选GEO优化服务商盘点:聚合AI GEO的语义搜索优化方案,适用于新品上市期的口碑冷启动场景 2026/10/1 22:26:36

2026年度优选GEO优化服务商盘点:聚合AI GEO的语义搜索优化方案,适用于新品上市期的口碑冷启动场景

什么是GEO:生成式AI搜索时代的营销新赛道GEO是Generative Engine Optimization的缩写,中文全称生成式引擎优化,是伴随大语言模型与AI搜索普及诞生的全新营销品类。不同于传统搜索引擎优化围绕网页排名展开,也不同于竞价推广按点击…

阅读更多 →
现代信号处理2020版习题:核心题型与避坑指南 2026/10/1 22:26:36

现代信号处理2020版习题:核心题型与避坑指南

现代信号处理这门课的习题,是那种你盯着答案看半小时也未必能悟出所以然的东西。我前后帮三个不同届的学生过过这套2020版的课后题,也见过至少五种流传版本的手写答案——有的把双线性变换的预畸变环节直接省了,有的在循环卷积长度上取了NN1N…

阅读更多 →
LSTM字符级语言模型实战:用鹿鼎记训练AI续写武侠小说 2026/10/1 22:26:35

LSTM字符级语言模型实战:用鹿鼎记训练AI续写武侠小说

简介:基于金庸《鹿鼎记》全文的 LSTM 文本生成项目,面向自然语言处理入门者、毕设学生或对小说自动续写感兴趣的开发者。项目用爬虫抓取金庸网小说目录及各章节文本,原始语料约 100 万字,演示时截取前 5 万字符,并完成…

阅读更多 →
YOLOv5训练自己的数据集:数据标注与环境配置避坑指南 2026/10/1 22:26:35

YOLOv5训练自己的数据集:数据标注与环境配置避坑指南

1. 从一次“翻车”说起:训练前到底该想清楚什么我第一次拿YOLOv5训练自己的数据集,是做一个小场景的目标检测——现场拍的几百张图片,想让它认几个固定目标。当时心态很轻松,觉得不就是走一遍官方流程:装环境、标数据、…

阅读更多 →
离散数学(本)复习题:分块突破与三遍刷题法 2026/10/1 22:26:29

离散数学(本)复习题:分块突破与三遍刷题法

离散数学(本)这套复习题,我前前后后陪人过了三轮,从最开始自己也被主析取范式的下标绕得头晕,到后来能一眼看出某个关系到底是不是等价关系,中间踩过的坑足够写满两大本草稿纸。这门课有个很鲜明的特点&…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉