Files
Olares/docs/zh/developer/develop/submit/index.md
2026-01-07 16:57:40 +08:00

124 lines
7.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
outline: [2, 3]
---
# 提交应用
## 详细步骤
**基本流程**
1. 在 Olares 上测试你的应用,根据[指南](../package/chart.md)创建 Olares 应用 Chart。
2. Fork 官方 [Olares 应用市场仓库](https://github.com/beclab/apps)。添加应用 Chart。创建 PR 到 `beclab/apps:main`
3. 等待 **GitBot** 检查你的 PR。如果需要修改 PR 直至通过。
4. PR 合并后,你的应用程序就可以启动了。
### 1. 创建并测试 Olares 应用
在提交应用程序之前,请确保它已在你的 Olares 上经过完整测试。
- 使用 Studio 的开发容器在真实的在线环境中测试和调试你的应用。[了解有关 Studio 的更多信息](../tutorial/develop.md)。
- 使用 Market 应用程序中的[自定义安装](../tutorial/package-upload.md)进行用户测试。
### 2. 提交应用
应用提交需要通过 **Pull Request** 完成。具体步骤如下:
- 从官方 [Olares 应用市场仓库](https://github.com/beclab/apps)创建 fork并在你的 fork 仓库中添加应用 Chart。
- 创建一个指向 `beclab/apps:main` 分支的 Draft PR。
- 请按照模板要求编辑 PR 标题和内容。
- **PR 标题**必须符合以下格式:[PR 类型][文件夹名][版本]标题内容
- `PR 类型`包括:
- NEW: 提交新应用
- UPDATE: 更新已成功合并的应用
- REMOVE: 移除已成功合并的应用
- SUSPEND: 暂停已成功合并的应用在应用商店的分发
- `文件夹名`是你的 Olares 应用 Chart 名称。必须符合 [chart 规范](../package/chart.md)中的命名要求。
- `版本`指你的应用 chart 的` Chart 版本`,需要与 `Chart.yaml` 中的 `version` 字段和 `OlaresManifest.yaml` 元数据部分保持一致。
- 为防止你的 PR 被错误解析或关闭,请遵守以下规则:
- PR 标题只能包含一个 `PR 类型``文件夹名``版本`
- 你的 `PR 类型`必须是预定义类型之一。
- PR 只能添加或修改PR标题中声明的`文件夹名`下的内容。
- 同一`文件夹名`同时只能存在一个 Open PR 或 Draft PR。
- 你必须是要修改的文件夹的所有者之一。所有者列在chart中的`owners`文件中。如果你正在提交新应用,你的 GitHub 用户名应该包含在 `owners` 文件中。
- 在 Draft PR阶段你可以持续调整 PR 内容并添加新的提交。一切就绪后,点击 **Ready for review** 按钮提交 PR 并调用 **GitBot** 进行检查。
:::info 注意
PR 的标题和内容对于 **GitBot** 来说至关重要。请按照模板规范填写。**GitBot** 可能会自动关闭任何无效的PR。
:::
### 3. 跟踪 PR 状态
- 当你的 PR 被标记为 `PR 类型`时,表示你的 PR 标题有效。请**不要在之后修改 `PR 类型`。**如果它不符合你的意图,只需关闭它并创建一个新的。
- 你可以通过状态标签跟踪PR的进度
- `waiting to submit`: 你的 PR 存在问题,需要在合并前进行进一步修改。
- `closed`: 你的 PR 无效或包含无法纠正的错误。
- `waiting to merge`: 一切进展顺利。你的PR已通过检查现在正等待 **GitBot** 自动合并。
- `merged`: 你的PR已被自动合并到`beclab/apps:main`中。
- 如果 **GitBot** 自动关闭了你的 PR请**不要重新打开**它。这表示 PR 存在不可修复的问题,**GitBot** 不得不终止检查流程。你可以在进行必要修改后提交新的 PR。
- 当 PR 处于 `waiting to submit` 状态时,你可以继续提交 Commits 来修改你的 PR。提交 Commit 后GitBot将重新检查你提交的应用 chart 文件并更新 PR 状态。
- 一旦你的 PR 通过所有检查,它将自动合并到 `beclab/apps:main` 中。应用将在一段时间后在**Olares Market**上列出。
- 如果你在提交过程中遇到任何问题,随时可以联系 Olares 团队或寻求社区帮助。
## 管理你的应用
你可以通过创建 Pull Request 到 `beclab/apps:main` 继续管理和维护你的应用。你可以升级应用、修改其可用性,或从**Olares Market**完全移除它。
管理应用的流程与提交类似。你创建特定类型的 Pull RequestGitBot 会处理剩余工作。Olares 使用应用 chart 根目录中的**特殊控制文件**来管理应用状态。这些**特殊控制文件**是带有特定后缀的空文件,如 `.suspend``.remove`
:::info 注意
初次提交时不应包含 ".suspend" 或 ".remove" 文件。
:::
### 更新
当你需要更新已发布的应用时,你需要创建一个 `UPDATE` PR。
**请注意:**
- 每当你对应用chart进行更改时如升级程序、更新元数据或更改所有者列表请务必升级你的chart版本。
- 更新后的应用chart版本必须***大于***仓库中的当前版本。
- 更新的应用chart根目录中不包含 `.suspend``.remove` 文件。
- **Olares 应用市场**不提供版本回滚。如果你的应用存在任何问题,你需要提交新版本来修复它。
- 为避免潜在冲突我们建议同步你的fork并将PR的提交变基到最新的main分支。
### 暂停
如果出于任何原因你想暂时禁用你的应用在**Olares 应用市场**的下载和安装,请提交一个`SUSPEND` PR。
**请注意:**
- 提交的应用chart版本必须与仓库中的当前版本***匹配***。
- 你提交的根目录应包含 `.suspend` 文件,且不应包含 `.remove` 文件。
- 一旦暂停PR通过检查并合并应用商店将停止列出你的应用。
- 已经下载并安装应用的用户在暂停后可以继续使用它。
### 移除
如果出于任何原因你想从**Olares Market**移除你的应用,请提交一个 `REMOVE` PR。
**请注意:**
- 完全清空当前应用目录中的文件,并在根目录中添加一个 `.remove` 文件。
- 一旦移除PR通过检查并合并应用商店将移除你的应用。
- 你将无法在未来重用相同的目录或应用chart名称。
- 已经下载并安装应用的用户在移除后可以继续使用它。
## 推广你的应用
通过使用组织良好的应用描述、截图和宣传图片来突出显示应用的特点和功能可以帮助吸引Market中的新用户。截图和预览可以直观地展示用户体验帮助你的应用脱颖而出。
要在应用详情页添加宣传图片,请在 `OlaresManifest.yaml` 文件的 `spec` 部分的 `promoteImage` 字段中包含这些资源的链接。
:::info **Olares 应用市场的资源规范**
- 应用的**图标**必须为 PNG 或 WEBP 格式,大小不超过 512 KB尺寸为 256x256 像素。
- 强烈建议至少上传 2 张**截图**用于推广。**截图**必须为 JPEG、PNG 或 WEBP 格式,每张大小不超过 8MB尺寸为1440x900像素。你最多可以上传 8 张**截图**。
- 如果你希望你的应用在市场中被推荐,则需要一张**特色图片**。在 `OlaresManifest.yaml` 文件的 `spec` 部分的 `featuredImage` 字段中添加此图片的链接。图片必须为 JPEG、PNG 或 WEBP 格式,大小不超过 8MB尺寸为 1440x900 像素。
:::
## 邀请他人协作
有两种方式可以邀请他人一起开发Olares应用
1. 将其他开发者的 GitHub 用户名添加到 `owners` 文件中。列在`owners`中的每个开发者都可以独立 fork 仓库并提交他们的更改。
2. 将其他人添加为你 fork 仓库的协作者。在这种情况下,你作为代表创建 Pull Request所有其他人可以共同提交到计划合并的分支。