Sourcegraph浏览器扩展发布流程详解
前言
Sourcegraph作为一款强大的代码搜索和导航工具,其浏览器扩展功能允许开发者直接在浏览器中访问代码智能功能。本文将详细介绍Sourcegraph浏览器扩展的完整发布流程,涵盖Chrome、Firefox和Safari三大主流浏览器平台。
准备工作:开发者账号创建
在发布浏览器扩展前,需要为各平台创建开发者账号。
Chrome平台账号创建
- 加入内部Chrome扩展开发者群组
- 在Chrome Web Store开发者控制台注册新账号
- 需要支付一次性小额注册费(可使用团队预算报销)
- 建议使用公司邮箱注册
Firefox平台账号创建
- 在Mozilla开发者中心创建账号
- 请求团队成员将你加入Sourcegraph组织
- 确认收到的邀请邮件
- 完成账号验证后,从扩展作者列表中移除个人账号
Safari平台账号创建
- 请求团队成员通过App Store Connect门户发送邀请
- 接受邀请后加入Apple开发者群组
测试流程
发布前必须进行全面的测试:
-
手动安装测试
- 在各目标浏览器上测试扩展安装流程
- 验证基本功能是否正常
-
自动化测试
- 运行浏览器扩展端到端测试:
sg test bext-build && sg test bext-e2e
- 注意:发布分支会自动运行这些测试,但提前验证更稳妥
- 运行浏览器扩展端到端测试:
各平台发布流程详解
Chrome扩展发布
Chrome平台的发布流程已完全自动化,审核通常需要0.5-1个工作日。
发布步骤:
-
确保主分支是最新的,执行:
git push origin main:bext/release
-
推送至
bext/release
分支将触发构建流水线- 可在CI系统中观察构建进度
- 查找带有Chrome图标的"Extension release"任务
-
构建完成后,扩展将出现在开发者控制台
- 状态显示为"Pending review"
- 审核通过后自动发布
Firefox扩展发布
Firefox发布流程为半自动化,审核时间可能长达数天。
发布步骤:
-
更新
bext/release
分支触发构建- 记录构建的commit SHA,后续步骤需要
-
构建完成后检查开发者中心:
- 若状态为"Approved"则完成
- 否则需上传非压缩版本
-
上传非压缩版本:
- 修改
create-source-zip.js
中的commitId变量 - 运行脚本生成
sourcegraph.zip
- 在开发者中心上传该zip文件
- 修改
Safari扩展发布
Safari发布流程目前完全手动操作,审核通常需要0.5-1个工作日。
详细步骤:
-
构建准备
- 运行
pnpm --filter @sourcegraph/browser build
- 生成的Xcode项目位于
./build/Sourcegraph for Safari
- 运行
-
Xcode配置
- 打开项目并设置:
- 应用类别设为"Developer Tools"
- 递增版本号和构建号
- 为扩展目标同样递增版本号
- 打开项目并设置:
-
图标配置
- 在
Assets.xcassets
中添加应用图标 - 需要512x512和1024x1024两种尺寸
- 在
-
归档与验证
- 通过Product > Archive生成归档文件
- 先进行验证,确保无错误
-
分发上传
- 选择"App Store Connect"分发方式
- 选择正确的开发者团队
- 启用自动签名管理
-
App Store Connect配置
- 在网页端创建新版本
- 添加构建并填写更新说明
- 处理加密合规性声明
- 最终提交审核
发布后流程
-
更新变更日志
- 创建PR更新
CHANGELOG.md
文件 - 清晰记录版本变更内容
- 创建PR更新
-
团队通知
- 在内部通讯渠道发布更新消息
- 包含版本更新摘要和重要变更
最佳实践建议
-
版本管理
- 采用语义化版本控制(SemVer)
- 重大更新考虑beta测试期
-
审核预期
- 各平台审核时间不同,提前规划
- 预留缓冲时间应对可能的审核问题
-
回滚准备
- 保留上一版本的构建产物
- 制定紧急回滚方案
通过遵循上述流程,可以确保Sourcegraph浏览器扩展在各平台上的稳定发布和持续更新,为用户提供无缝的代码搜索和导航体验。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考