仪表板部署

概述

使用 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 PythonShiny for R 的仪表板是需要服务器部署的网络应用(因此不能简单地部署到通用网页主机)。Shiny 应用的部署选项包括:

下面我们将介绍 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.qmd

quarto serve 命令原生支持 shinyapps.ioShiny ServerPosit Connect。详情请参阅 Shiny for R 部署 的深入文档。