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 StartedRust0190
cann-learning-hubCANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。Jupyter Notebook0113
Step-3.7-FlashStep-3.7-Flash是一个拥有 1980 亿参数的稀疏混合专家(MoE)视觉语言模型,由 1960 亿参数的语言主干网络和 18 亿参数的视觉编码器组合而成,具备原生图像理解能力。Python00
JoyAI-EchoJoyAI-Echo,这是一个独立的、仅用于推理的版本,旨在实现分钟级多镜头音视频生成。它采用了经过蒸馏的DMD生成器、配对的跨模态记忆以及故事级别的一致性。其性能的核心在于,一个跨模态视听记忆库能够在长达五分钟的视频中保持角色外观和语音音色的一致性。同时,一个训练后处理流程将基于记忆的强化学习与分布匹配蒸馏相结合,实现了7.5倍的速度提升,显著增强了视觉质量和对齐效果。00
omega-aiOmega-AI:基于java打造的深度学习框架,帮助你快速搭建神经网络,实现模型推理与训练,引擎支持自动求导,多线程与GPU运算,GPU支持CUDA,CUDNN。Java04
llm-universe本项目是一个面向小白开发者的大模型应用开发教程,在线阅读地址:https://datawhalechina.github.io/llm-universe/Jupyter Notebook08