Files
mintlify__docs/zh/deploy/multi-repo.mdx
mintlify[bot] 9630488d9f docs: translate multi-repository deployments page (fr, es, zh) (#6260)
Co-authored-by: mintlify[bot] <109931778+mintlify[bot]@users.noreply.github.com>
2026-06-24 18:57:39 +00:00

148 lines
5.8 KiB
Plaintext
Raw Permalink 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.
---
title: "多仓库部署"
description: "将多个 Git 仓库中的文件合并到一个 Mintlify 站点,并为每个源仓库分配独立的 URL 路径。"
keywords: ["multi-repo", "multiple repositories", "git sources", "url path"]
---
<Info>
多仓库部署在[企业版套餐](https://mintlify.com/pricing?ref=multi-repo)中可用。
</Info>
当一个站点需要来自多个 Git 仓库的内容时,请使用多仓库部署。当你为同一个 Mintlify 项目配置多个仓库作为源时,每个仓库的内容都会有自己的 URL 路径。
例如,你可以将产品文档、API 参考和 SDK 指南的独立仓库合并到一个站点中:
```text
docs.example.com/product
docs.example.com/api
docs.example.com/sdks
```
<div id="how-multi-repository-deployments-work">
## 多仓库部署的工作原理
</div>
多仓库部署中的每个仓库都有各自的:
- Git 提供方连接
- 分支
- 可选的内容目录
- URL 路径
- `docs.json`
在部署期间,Mintlify 会读取每个仓库并将已配置的源合并到一个站点中。每个源会显示在其配置的 URL 路径下。
第一个配置的仓库的 `docs.json` 是部署的根 `docs.json`。其站点级配置控制合并后的站点,包括主题、颜色、Logo、集成、SEO 以及其他顶层字段等设置。其他源在其配置的 URL 路径下贡献各自的导航和内容。
<Note>
多仓库部署不同于[monorepo 配置](/zh/deploy/monorepo)。当你将所有内容与源代码一起存放在单个仓库的子目录中时,请使用 monorepo 配置。当你将内容分散存放在不同的仓库中时,请使用多仓库部署。
</Note>
<div id="requirements">
## 要求
</div>
- 企业版套餐
- 你的 Mintlify 项目的管理员权限
- 每个源仓库中都必须有 `docs.json` 文件
- 所有源仓库必须使用相同的 Git 提供方(全部为 GitHub 或全部为 GitLab)。添加来自不同提供方的源会移除所有现有的另一类型的源
<Warning>
URL 路径必须唯一且不能重叠。例如,不要同时将一个源配置为 `/docs`,另一个源配置为 `/docs/api`。
</Warning>
<div id="configure-multiple-repositories">
## 配置多个仓库
</div>
<Steps>
<Step title="打开 Git 设置">
在仪表板中前往 [Git 设置](https://app.mintlify.com/settings/deployment/git-settings)。
<Frame>
<img src="/images/deployments/add-repository-light.png" alt="Mintlify 仪表板中的 Git 设置页面。底部可见 Add repository 按钮。" className="block dark:hidden" />
<img src="/images/deployments/add-repository-dark.png" alt="Mintlify 仪表板中的 Git 设置页面。底部可见 Add repository 按钮。" className="hidden dark:block" />
</Frame>
</Step>
<Step title="添加另一个仓库">
点击 **Add repository**。
</Step>
<Step title="配置仓库源">
选择仓库、分支以及所需的 Git 提供方特定字段(GitHub 或 GitLab)。
<Frame>
<img src="/images/deployments/repo-configuration-light.png" alt="Git 设置页面中的仓库配置面板。可见仓库、分支以及 GitHub 特定字段。" className="block dark:hidden" />
<img src="/images/deployments/repo-configuration-dark.png" alt="Git 设置页面中的仓库配置面板。可见仓库、分支以及 GitHub 特定字段。" className="hidden dark:block" />
</Frame>
对于 GitHub 源,Mintlify GitHub App 必须能够访问该仓库。对于 GitLab 源,请提供项目 ID 以及具有 `read_repository` 权限的部署令牌。
如果仓库的 `docs.json` 位于子目录而非根目录中,请启用 **docs.json is in a subdirectory** 并输入指向该目录的路径。
</Step>
<Step title="设置 URL 路径">
为仓库源输入一个 **URL path**。
URL 路径决定了来自该仓库的内容在你的文档站点中显示的位置。例如,URL 路径为 `api` 时,内容会在 `docs.example.com/api` 下提供。
<Note>
你可以使用或不使用前导斜杠输入路径。Mintlify 在保存时会自动规范化该值。
</Note>
</Step>
<Step title="保存更改">
点击 **Save changes**。Mintlify 会保存配置,并将合并后的站点的部署排入队列。
</Step>
</Steps>
<div id="example-repository-layout">
## 示例仓库布局
</div>
在此示例中,每个源都有自己的仓库以及自己的 `docs.json`。
```text
acme/product-docs
├── docs.json
├── overview.mdx
└── guides/
acme/api-docs
├── docs.json
├── introduction.mdx
└── reference/
acme/sdk-docs
├── docs.json
├── quickstart.mdx
└── javascript/
```
为每个仓库配置一个 URL 路径:
| 仓库 | URL 路径 | 发布路径 |
| --- | --- | --- |
| `acme/product-docs` | `product` | `/product` |
| `acme/api-docs` | `api` | `/api` |
| `acme/sdk-docs` | `sdks` | `/sdks` |
<div id="navigation-behavior">
## 导航行为
</div>
Mintlify 会将每个仓库的导航合并到一个站点导航中。每个仓库源都会成为配置的 URL 路径下的一个顶级产品分区。
每个产品分区的名称来自对应仓库的 `docs.json` 中的 `name` 字段。例如,如果某个仓库的 `docs.json` 设置了 `"name": "API Reference"`,则其产品分区会在合并后的导航中显示为 "API Reference"。
请将每个源的导航限定在其自身的仓库范围内。例如,API 仓库中的页面应仅引用位于 API 仓库中的文件,SDK 仓库中的页面应仅引用位于 SDK 仓库中的文件。
源仓库内部不支持嵌套的 `navigation.products` 配置。
<div id="removing-a-repository-source">
## 移除仓库源
</div>
你可以从仪表板的 [Git 设置页面](https://app.mintlify.com/settings/deployment/git-settings)移除仓库源。当只剩一个仓库源时,Mintlify 会移除该源的 URL 路径,并将剩余的仓库作为部署的根源。