尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

贡献官方仓库终极清单:CapRover One Click Apps的validate、prettier与build全流程实战

贡献官方仓库终极清单:CapRover One Click Apps的validate、prettier与build全流程实战 贡献官方仓库终极清单CapRover One Click Apps的validate、prettier与build全流程实战【免费下载链接】one-click-appsCommunity Maintained One Click Apps (https://github.com/caprover/caprover)项目地址: https://gitcode.com/gh_mirrors/on/one-click-apps这个仓库是 CapRover One Click Apps 的社区官方仓库收录了几百个可一键部署的开源应用如 Jellyfin、Grafana、Gitea 等。本文带你完整走通validate 校验 → prettier 格式化 → build 构建三步流程从零到提交 PR让你用最短时间把一个一键应用贡献进官方仓库 ✅仓库结构一键应用都住在哪里整个仓库的目录非常直观理解它是贡献的第一步路径作用public/v4/apps/所有一键应用的 YAML 定义文件v4 格式public/v4/logos/每个应用对应的图标文件名必须与应用同名scripts/校验、迁移、构建脚本validate / migrate / buildcaptain-definition仓库自带部署文件用 nginx 托管构建产物package.json定义了validate_apps、formatter、build等 npm 命令一键应用 YAML 写法规范每个应用就是一个public/v4/apps/下的 YAML 文件参考最简单的示例 privatebin.yml核心结构如下文件第一行必须是captainVersion: 4services段CapRover 只解析image、environment、ports、volumes、depends_on、hostname、command、cap_add这几个参数其余会被忽略caproverExtra段CapRover 专属配置常用containerHttpPort非 80 端口时必写、notExposeAsWebApp数据库等内部服务设为truecaproverOneClickApp段包含variables、instructionsstart/end两段说明、displayName、isOfficial、description不能超过 200 字符、documentation变量统一以$$cap开头另外内置三个特殊变量$$cap_appname、$$cap_root_domain、$$cap_gen_random_hex(长度)别忘了在public/v4/logos/放入同名.png图标本地实测先在 CapRover 面板跑通提交 PR 之前请先在自己的 CapRover 实例里验证登录 CapRover 面板进入apps → One-Click Apps/Databases在下拉列表底部选择 TEMPLATE 粘贴你的 YAML点击NEXT填入变量值确认应用正常部署后再进入提交流程validate 校验提交前必做的自检清单运行npm run validate_apps它会执行 scripts/validate_apps.js逐文件检查以下硬性规则任何一条不满足都会报错退出退出码 127public/v4/apps/下所有文件都以.yml结尾captainVersion等于 4存在caproverOneClickApp段description存在且不超过 200 字符instructions.start与instructions.end都存在services段存在同名 logo 文件存在于public/v4/logos/且是有效文件prettier 格式化保持仓库风格统一仓库用 prettier 统一 YAML/JSON 风格两个命令定义于package.jsonnpm run formatter只检查public/下的 yml/json 是否合规不修改文件npm run formatter-write自动格式化写回提交前建议先跑formatter自查有差异再跑formatter-write避免 CI 因格式问题打回。build 构建从 YAML 到 dist 静态站点npm run build会清空并重建dist/依次执行两个脚本scripts/build_one_click_apps.js处理旧的 v2 目录若存在scripts/build_one_click_apps_from_v4.js读取public/v4/下的 YAML同时生成 v2/v3/v4 三个版本的 JSON 产物、list应用清单文件并复制全部 logos最终dist/就是一套可被任意静态服务器托管的站点。仓库根目录的captain-definition文件更进一步把构建产物dist/直接装进 nginx 镜像让任何人都能在自己的 CapRover 实例上一键部署这个仓库本身 完整工作流一份照着做的清单克隆仓库git clone https://gitcode.com/gh_mirrors/on/one-click-apps安装依赖npm ci新增public/v4/apps/你的应用.yml并按 README.md 的模板补齐caproverOneClickApp段放入同名public/v4/logos/你的应用.png图标npm run validate_apps—— 全部通过 ✅npm run formatter-write—— 统一格式npm run build—— 本地生成dist/确认无报错在 CapRover 面板用 TEMPLATE 方式实测部署提交 Pull Request等待官方合并 小贴士如果你还想托管自己的私有应用仓库Fork 后删除现有应用、重复第 5~7 步再把dist/交给静态服务器即可面板中通过3rd party repositories填入仓库 URL 就能接入。【免费下载链接】one-click-appsCommunity Maintained One Click Apps (https://github.com/caprover/caprover)项目地址: https://gitcode.com/gh_mirrors/on/one-click-apps创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表