Remotely Save发布全流程:从环境配置到社区上架
本文将为你提供Remotely Save插件的完整发布流程,从开发环境准备到最终在Obsidian社区上架的全过程指南。通过遵循本指南,你将能够系统地完成插件的构建、测试和发布工作,确保每一个版本都能稳定可靠地交付给用户。
🔨 准备阶段:环境与配置就绪
环境准备清单
请确保你的开发环境满足以下要求:
- Node.js 14.0.0或更高版本
- npm 6.0.0或更高版本
- Git版本控制系统
- 代码编辑器(推荐VS Code)
如何获取项目源码
前提条件:已安装Git工具 操作指令:
git clone https://gitcode.com/gh_mirrors/re/remotely-save
cd remotely-save
npm install
验证方法:检查node_modules目录是否生成,运行npm run test确认测试框架正常工作
配置管理策略
区分开发与生产环境配置是确保发布质量的关键步骤:
开发环境配置:
# 在.env.development文件中配置
DROPBOX_APP_KEY=dev_key_for_testing
ONEDRIVE_CLIENT_ID=dev_client_id
生产环境配置:
# 在.env.production文件中配置
DROPBOX_APP_KEY=production_key
ONEDRIVE_CLIENT_ID=production_client_id
⚠️ 注意事项:生产环境配置文件不应提交到版本控制系统,建议使用CI/CD环境变量注入
如何配置构建工具
前提条件:已完成依赖安装 操作指令:
# 检查Webpack配置
cat webpack.config.js
# 检查esbuild配置
cat esbuild.config.mjs
验证方法:运行npm run build和npm run build2确认两种构建方式都能正常执行
🔨 实施阶段:构建与版本管理
构建策略选择
根据不同场景选择合适的构建方式:
Webpack构建(生产环境):
npm run build // 使用webpack.config.js生成优化的生产版本
esbuild构建(开发环境):
npm run build2 // 使用esbuild.config.mjs进行快速开发构建
验证方法:检查dist目录是否生成main.js、manifest.json和styles.css三个核心文件
版本号管理规范
前提条件:所有代码已提交并通过测试 操作指令:
# 补丁版本更新 (1.0.0 -> 1.0.1)
npm version patch
# 次要版本更新 (1.0.1 -> 1.1.0)
npm version minor
# 主要版本更新 (1.1.0 -> 2.0.0)
npm version major
git push --tags
验证方法:检查package.json和manifest.json中的version字段是否一致更新
如何生成发布包
前提条件:已完成版本号更新 操作指令:
# 执行生产构建
npm run build
# 创建发布包目录
mkdir -p release
# 复制必要文件到发布包
cp main.js manifest.json styles.css release/
验证方法:检查release目录中是否包含上述三个文件,文件大小是否符合预期
验证发布包完整性
在发布前务必验证包的完整性:
# 检查文件大小
ls -l release/
# 验证manifest.json格式
cat release/manifest.json | jq .
⚠️ 注意事项:确保manifest.json中的minAppVersion与当前Obsidian最低兼容版本一致
🔨 验证阶段:测试与社区发布
发布验证矩阵
在发布前执行全面测试,包括:
-
功能测试
- 基础同步功能验证
- 云服务连接测试
- 加密功能验证
-
兼容性测试
- 桌面平台:Windows 10/11、macOS 12+、Linux Ubuntu 20.04+
- 移动平台:iOS 14+、Android 10+
- Obsidian版本:最低支持版本至最新版
-
性能测试
- 大型库同步性能
- 网络异常恢复能力
- 内存占用监控
如何创建GitHub Release
前提条件:已生成发布包并通过所有测试 操作指令:
- 在GitHub仓库页面点击"Releases" -> "Draft a new release"
- 选择之前创建的版本标签
- 填写发布标题和详细变更说明
- 上传release目录中的三个文件
- 点击"Publish release"
社区提交流程
将插件提交到Obsidian社区市场:
-
准备提交材料
- 插件ID(remotely-save)
- GitHub Release链接
- 插件详细描述
- 功能截图(如有)
-
提交到社区
- 访问Obsidian社区插件提交页面
- 填写所有必填信息
- 粘贴GitHub Release链接
- 提交审核
⚠️ 注意事项:确保提交前已阅读并同意Obsidian插件开发者协议
发布后监控
插件发布后需进行持续监控:
- 关注社区反馈和bug报告
- 监控下载量和评分变化
- 准备紧急修复方案应对可能出现的问题
通过以上三个阶段的系统实施,你可以确保Remotely Save插件的每一次发布都具备高质量和可靠性,为Obsidian用户提供稳定的多云同步体验。记住,良好的发布流程是项目成功的关键因素之一。
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0139- DDeepSeek-V4-ProDeepSeek-V4-Pro(总参数 1.6 万亿,激活 49B)面向复杂推理和高级编程任务,在代码竞赛、数学推理、Agent 工作流等场景表现优异,性能接近国际前沿闭源模型。Python00
GLM-5.1GLM-5.1是智谱迄今最智能的旗舰模型,也是目前全球最强的开源模型。GLM-5.1大大提高了代码能力,在完成长程任务方面提升尤为显著。和此前分钟级交互的模型不同,它能够在一次任务中独立、持续工作超过8小时,期间自主规划、执行、自我进化,最终交付完整的工程级成果。Jinja00
MiniCPM-V-4.6这是 MiniCPM-V 系列有史以来效率与性能平衡最佳的模型。它以仅 1.3B 的参数规模,实现了性能与效率的双重突破,在全球同尺寸模型中登顶,全面超越了阿里 Qwen3.5-0.8B 与谷歌 Gemma4-E2B-it。Jinja00
MiniMax-M2.7MiniMax-M2.7 是我们首个深度参与自身进化过程的模型。M2.7 具备构建复杂智能体应用框架的能力,能够借助智能体团队、复杂技能以及动态工具搜索,完成高度精细的生产力任务。Python00
MusicFreeDesktop插件化、定制化、无广告的免费音乐播放器TypeScript00