仪表板部署
概述
使用 Quarto 创建的仪表板有多种部署方式。部署的具体操作取决于您发布的是静态仪表板(无服务器依赖)还是Shiny 仪表板。以下将详细介绍这两种情况。
静态仪表板
如果您要部署的是静态仪表板(即不使用 Shiny 进行交互),那么您可以将仪表板发布到任何网页服务器。Quarto 包含一个 quarto publish 命令,使其能够轻松发布到一些流行的服务,并通过持续集成(CI)自动发布。
要开始使用,请查看以下发布服务的文档之一:
| 目标平台 | 描述 |
|---|---|
| Quarto Pub | Quarto文档、网站和书籍的发布服务。当你希望为公开内容提供一个免费且易于使用的服务时,请使用Quarto Pub。 |
| GitHub Pages | 基于GitHub仓库管理的源代码发布内容。当你的文档或网站的源代码托管在GitHub上时,请使用GitHub Pages。 |
| Posit Connect | 组织内部安全共享数据产品的发布平台。当你希望在组织内部而非公共互联网上发布内容时,请使用Posit Connect。 |
| Posit Cloud | 从网页浏览器创建数据项目并发布结果。当你希望在一个地方组织所有静态文档和交互式应用程序时,请使用Posit Cloud。 |
| Netlify | 专业的网页发布平台。当你需要支持自定义域名、身份验证、预览分支以及其他更高级功能时,请使用Netlify。 |
| Confluence | 支持团队协作的发布平台。使用Confluence在团队空间中共享文档。 |
| Hugging Face Spaces | 专注于学习模型和数据集的发布平台。当你希望与相关机器学习模型和/或数据集一起分享Quarto文档时,请使用Hugging Face Spaces。 |
| 其他服务 | 使用Quarto渲染的内容采用标准格式(HTML、PDF、MS Word等),可以在任何地方发布。如果上述方法都不符合你的需求,请使用此选项。 |
如果你不确定选择哪个,可以尝试Quarto Pub,这是一个免费的服务,适用于公开内容。如果你要发布到上述未列出的目的地,请选择其他服务。
这些文章涵盖了直接发布以及使用GitHub Actions进行持续集成(CI)发布的两种方式。如果你想使用CI发布但未使用GitHub Actions,使用CI发布一文提供了更多详细信息和文档。
Shiny 仪表板
使用 Shiny for Python 或 Shiny for R 的仪表板是需要服务器部署的网络应用(因此不能简单地部署到通用网页主机)。Shiny 应用的部署选项包括:
公共托管服务如 shinyapps.io 和 Hugging Face。
Shiny Server(由 Shiny 团队开发的开源服务器)。
Posit Connect(一种本地部署的商业服务器产品)。
下面我们将介绍 Python 和 R 的一些部署基础知识,并提供使用各种可用方法的附加文档链接。
Shiny for Python
Shiny交互式文档是使用quarto render创建的普通Shiny应用程序。事实上,你根本不需要Quarto来提供交互式文档,相反,你可以直接使用shiny run运行由quarto render生成的应用程序:
Terminal
quarto render example.qmd
shiny run app.py你部署的应用程序将包含由quarto render生成的HTML文档和app.py脚本:
example.html
example_files/
app.py有关在各种环境中部署Shiny应用程序的信息,请参阅以下文档:
| 目标 | 描述 |
|---|---|
| shinyapps.io | 云托管服务 |
| Hugging Face | 云托管服务 |
| Shiny Server | 开源应用程序服务器 |
| Posit Connect | 商业发布平台 |
| 其他服务 | 自定义服务器/托管环境 |
你还可以在无服务器配置中部署交互式Shiny文档(其中Python通过Pyodide在浏览器中运行)。退休模拟是一个展示此工作流程的示例。
Shiny for R
使用 Shiny for R 的 Quarto 仪表板可以使用所有适用于常规 Shiny 应用的工具和服务进行部署。Shiny for R 仪表板通过 quarto serve 命令运行:
Terminal
quarto serve dashboard.qmdquarto serve 命令原生支持 shinyapps.io、Shiny Server 和 Posit Connect。详情请参阅 Shiny for R 部署 的深入文档。