mirror of
https://github.com/mintlify/docs.git
synced 2026-09-14 13:35:46 +08:00
2214a338a3
* docs: document fork PR preview limitation and workaround * docs: translate fork PR preview limitation to es, fr, zh * Apply suggestions from code review Co-authored-by: Ethan Palm <56270045+ethanpalm@users.noreply.github.com> * Apply suggestions from code review Co-authored-by: Ethan Palm <56270045+ethanpalm@users.noreply.github.com> --------- Co-authored-by: mintlify[bot] <109931778+mintlify[bot]@users.noreply.github.com> Co-authored-by: Ethan Palm <56270045+ethanpalm@users.noreply.github.com>
162 lines
8.2 KiB
Plaintext
162 lines
8.2 KiB
Plaintext
---
|
||
title: "预览部署"
|
||
description: "为每个拉取请求获取唯一的预览 URL,让审阅者可以在实时环境中查看文档更改,然后再合并到生产环境。"
|
||
keywords: ["preview URLs", "pull request previews", "branch previews", "staging environments"]
|
||
---
|
||
|
||
<Info>
|
||
预览部署需要 [Pro 或 Enterprise 方案](https://mintlify.com/pricing?ref=preview-deployments)。
|
||
</Info>
|
||
|
||
预览部署可让你在合并到生产环境之前先查看文档更改的实际效果。每次预览都会生成一个可共享的 URL,并会在你推送新更改时自动更新。
|
||
|
||
预览 URL 默认对所有人可见。将预览链接分享给任何需要审阅你更改的人。
|
||
|
||
<div id="create-preview-deployments">
|
||
## 创建预览部署
|
||
</div>
|
||
|
||
通过拉取请求 (PR;亦称“合并请求”/Merge Request) 自动创建预览部署,或从你的控制台手动创建。
|
||
|
||
<div id="automatic-previews">
|
||
### 自动预览
|
||
</div>
|
||
|
||
<Note>
|
||
仅针对目标为你的[部署用分支](/zh/guides/git-concepts#deployment-branch)的拉取请求 (PR) ,才会自动创建预览。
|
||
</Note>
|
||
|
||
当你创建拉取请求时,Mintlify 机器人会自动在拉取请求中添加一个链接,供你查看预览部署。每次你向该分支推送新的提交时,预览都会更新。
|
||
|
||
<Frame>
|
||
<img src="/images/previews/preview-deployment-light.png" alt="在拉取请求时间线中查看部署的链接" className="block dark:hidden" />
|
||
|
||
<img src="/images/previews/preview-deployment-dark.png" alt="在拉取请求时间线中查看部署的链接" className="hidden dark:block" />
|
||
</Frame>
|
||
|
||
<div id="fork-pull-requests">
|
||
### 来自 fork 的拉取请求
|
||
</div>
|
||
|
||
对于从 fork 发起的拉取请求,不会生成自动预览。Mintlify 的 GitHub 应用安装在你的文档存储库上,只能访问已显式安装它的存储库,因此无法读取贡献者的 fork,也无法基于它构建预览。
|
||
|
||
若要预览来自 fork 的更改,具有主存储库写入权限的维护者可以将贡献者的分支推送到主存储库的一个分支(或将 fork 合并到集成分支)。之后,GitHub 应用即可为从该分支发起的拉取请求构建预览。
|
||
|
||
<div id="manual-previews">
|
||
### 手动预览
|
||
</div>
|
||
|
||
你可以为任意 branch 手动创建预览。
|
||
|
||
1. 前往你的[控制台](https://dashboard.mintlify.com/)。
|
||
2. 选择 **Previews**。
|
||
3. 选择 **Create custom preview**。
|
||
4. 输入要预览的 branch 名称。
|
||
5. 选择 **Create preview**。
|
||
|
||
<div id="api">
|
||
### API
|
||
</div>
|
||
|
||
你也可以使用 [Trigger preview deployment](/zh/api/preview/trigger) API 端点以编程方式创建预览部署。这对于将预览创建集成到 CI/CD 流水线或自定义工具中非常有用。
|
||
|
||
<div id="redeploy-a-preview">
|
||
## 重新部署预览
|
||
</div>
|
||
|
||
当需要刷新内容,或在部署失败后重试时,可重新部署预览。
|
||
|
||
1. 在你的[控制台](https://dashboard.mintlify.com/)中选择该预览。
|
||
2. 选择**重新部署**。
|
||
|
||
<Frame>
|
||
<img src="/images/previews/redeploy-preview-light.png" alt="“预览”菜单中,部署按钮被橙色矩形高亮显示。" className="block dark:hidden" />
|
||
|
||
<img src="/images/previews/redeploy-preview-dark.png" alt="“预览”菜单中,部署按钮被橙色矩形高亮显示。" className="hidden dark:block" />
|
||
</Frame>
|
||
|
||
<div id="preview-widget">
|
||
## 预览小部件
|
||
</div>
|
||
|
||
预览小部件会显示在预览部署中,帮助你浏览和审阅更新后的页面。该小部件以悬浮按钮的形式显示在预览部署页面的右下角。
|
||
|
||
<Frame>
|
||
<img src="/images/previews/widget-light.png" alt="展开的预览小部件,显示已更改文件列表。" className="block dark:hidden" />
|
||
|
||
<img src="/images/previews/widget-dark.png" alt="展开的预览小部件,显示已更改文件列表。" className="hidden dark:block" />
|
||
</Frame>
|
||
|
||
1. 点击小部件,在预览中显示所有新增、修改或删除的文件。
|
||
2. 点击某个文件,在对应页面上查看更改内容。
|
||
3. 使用搜索栏筛选已更改文件列表。
|
||
4. 将鼠标悬停在文件上,点击**在编辑器中打开**图标,直接在网页编辑器中编辑该文件。
|
||
|
||
该小部件只会显示在预览部署中,不会显示在已上线站点或本地预览中。
|
||
|
||
<div id="restrict-access-to-preview-deployments">
|
||
## 限制预览部署的访问权限
|
||
</div>
|
||
|
||
默认情况下,任何持有 URL 的人都可以访问预览部署。你可以通过要求所有预览进行组织身份验证,或为单个预览设置密码保护来限制访问。
|
||
|
||
<div id="require-organization-authentication">
|
||
### 要求组织身份验证
|
||
</div>
|
||
|
||
将预览访问权限限制为 Mintlify 组织中的已认证成员。
|
||
|
||
1. 在控制台的 [附加组件](https://dashboard.mintlify.com/products/addons) 页面,进入 **Previews** 部分。
|
||
2. 点击 **Preview authentication** 开关以启用或禁用预览认证。
|
||
<Frame>
|
||
<img src="/images/previews/preview-auth-light.png" alt="附加组件页面中的预览认证开关" className="block dark:hidden" />
|
||
<img src="/images/previews/preview-auth-dark.png" alt="附加组件页面中的预览认证开关" className="hidden dark:block" />
|
||
</Frame>
|
||
|
||
<div id="password-protect-an-individual-preview">
|
||
### 为单个预览设置密码保护
|
||
</div>
|
||
|
||
为特定预览设置密码保护,以便与外部审阅者共享,而无需将他们添加到你的 Mintlify 组织中。此选项在创建手动预览时可用,当你的部署已启用组织身份验证时不会显示。
|
||
|
||
1. 前往你的[控制台](https://dashboard.mintlify.com/)。
|
||
2. 选择 **Previews**。
|
||
3. 选择 **Create custom preview**。
|
||
4. 输入要预览的 branch 名称。
|
||
5. 开启 **Make private** 并输入密码。密码必须至少为 8 个字符。
|
||
<Frame>
|
||
<img src="/images/previews/private-preview-light.png" alt="创建自定义预览模态框,其中 Make private 开关已启用并显示密码字段。" className="block dark:hidden" />
|
||
<img src="/images/previews/private-preview-dark.png" alt="创建自定义预览模态框,其中 Make private 开关已启用并显示密码字段。" className="hidden dark:block" />
|
||
</Frame>
|
||
6. 选择 **Create preview**。
|
||
|
||
<div id="preview-lifetime">
|
||
## 预览的生命周期
|
||
</div>
|
||
|
||
只要预览部署对应的源 branch 仍存在于你的仓库中,预览就会持续在线,并在每次推送时接收更新。
|
||
|
||
- **自动预览**:拉取请求的预览在 PR 处于打开状态期间,以及合并或关闭后 (只要源 branch 仍存在) 都会保持可用。删除该 branch 后,预览会在下一次控制台同步时被移除。
|
||
- **手动预览**:手动预览会一直在线,直到你删除它为止。重新部署手动预览会根据指定 branch 上的最新提交刷新其内容。
|
||
- **删除预览**:在你的[控制台](https://app.mintlify.com/)中,前往 **Previews**,打开该预览,然后点击 **Delete** 立即将其移除。
|
||
|
||
预览 URL 按 branch 唯一。如果你删除了某个预览,之后又为同一 branch 重新创建预览,Mintlify 可能会分配一个新的 URL。
|
||
|
||
Mintlify 会自动生成预览 URL。子域名和域名不可配置,自定义域名仅保留用于你的生产部署。
|
||
|
||
<div id="troubleshooting-preview-deployments">
|
||
## 预览部署故障排查
|
||
</div>
|
||
|
||
如果预览部署失败,可以尝试以下故障排查步骤。
|
||
|
||
* **查看构建日志**:在你的[控制台](https://dashboard.mintlify.com/)中进入 **Previews**,并点击失败的预览。部署日志会显示导致失败的错误。
|
||
* **检查配置**:
|
||
* 在配置的内容根目录中缺少 `docs.json`。如果你的 `docs.json` 位于子目录中,请确认 **docs.json is in a subdirectory** 设置指向正确的路径。
|
||
* `docs.json` 语法无效(例如,空文件或多余的尾随逗号导致 JSON 解析失败)。
|
||
* `docs.json` 中的 schema 错误,例如 `theme` 无效、`navigation` 格式错误或未解析的 `$ref` 值。
|
||
* 在导航中引用的文件路径缺失或不正确。
|
||
* MDX 文件中的 frontmatter 无效。
|
||
* 图片链接失效或缺少图片文件。
|
||
* **在本地验证**:在本地运行 `mint dev` 和 `mint validate`,在推送到存储库之前先发现配置和构建错误。
|
||
* **检查最近的更改**:查看当前分支中最近的提交,以确认哪些更改导致构建失败。 |