用途:把 Shiny 应用从本地开发发布到托管环境,支持 shinyapps.io、Posit Connect 和 Docker 容器三种目标,也可用于搭建自动化部署流程。
主要能力:部署前用 rsconnect::appDependencies() 检查依赖、devtools::check() 校验 golem 应用、shiny::runApp() 本地验证;shinyapps.io 通过 rsconnect::setAccountInfo() 与 deployApp() 发布;Posit Connect 通过 addServer()、connectApiUser()、deployApp() 发布;Docker 路径提供基于 rocker/shiny-verse 的 Dockerfile 与 shiny-server.conf 示例,并给出 docker build 与 docker run -p 3838:3838 命令。
使用方式:需提供应用路径与部署目标,可选账号令牌、实例规格、自定义域名。凭据应放在 .Renviron 或 CI secrets,不写入代码;建议提交 renv.lock 保证依赖可复现。部署后用 httr::GET() 检查 HTTP 200,并逐项验证交互功能、数据连接与鉴权。
适用场景:对外或对内发布 Shiny 应用、迁移到托管环境、容器化以部署到 Kubernetes 或 Docker、建立自动部署流水线。
限制与注意:shinyapps.io 默认只能从 CRAN 安装包,GitHub 包需 remotes 显式安装;Docker 中 sf、curl、xml2 等需补系统库;避免硬编码路径与开发专用 .Rprofile;生产环境变量需单独配置。监控方面 shinyapps.io 用仪表盘,Connect 可用 connectapi,Docker 可加 HEALTHCHECK。具体收费、价格与平台细节资料未提供。