Deploy

Published

2025-03-14

Expand the callout boxes below to review the previous testing chapters:

Specifications dives into:

The applications in Chapter 15 (Specifications) can be accessed with the launch() or get() functions from the shinypak R package:

# install.packages('pak')
pak::pak('mjfrigaard/shinypak')
library(shinypak)

Chapter 15 applications:

list_apps(regex = '^15')
## # A tibble: 1 × 2
##   branch   last_updated       
##   <chr>    <dttm>             
## 1 15_specs 2025-03-11 07:15:51

Test tools covers:

The applications in Chapter 16 (Test tools) can be accessed with the launch() or get() functions from the shinypak R package:

# install.packages('pak')
pak::pak('mjfrigaard/shinypak')
library(shinypak)

Chapter 16 applications:

list_apps(regex = '^16')
## # A tibble: 4 × 2
##   branch              last_updated       
##   <chr>               <dttm>             
## 1 16.1_test-help      2025-03-11 07:17:52
## 2 16.2_test-data      2025-03-11 07:22:18
## 3 16.3_test-logger    2025-03-11 07:24:14
## 4 16.4_test-snapshots 2025-03-11 07:25:35

Testing modules includes strategies for:

The applications in Chapter 17 (Testing modules) can be accessed with the launch() or get() functions from the shinypak R package:

# install.packages('pak')
pak::pak('mjfrigaard/shinypak')
library(shinypak)

Chapter 17 applications:

list_apps(regex = '^17')
## # A tibble: 1 × 2
##   branch          last_updated       
##   <chr>           <dttm>             
## 1 17_test-modules 2025-03-11 07:27:13

The applications in Chapter 18 (System tests) can be accessed with the launch() or get() functions from the shinypak R package:

# install.packages('pak')
pak::pak('mjfrigaard/shinypak')
library(shinypak)

Chapter 18 applications:

list_apps(regex = '^18')
## # A tibble: 1 × 2
##   branch         last_updated       
##   <chr>          <dttm>             
## 1 18_test-system 2025-03-11 07:28:58

Deploy

This section covers four common ways for deploying a Shiny app-package: 1) launching an app on shinyapps.io, 2) Docker images and containers, 3) using GitHub Actions for Continuous Integration (CI) and Continuous Deployment (CD), and 4) building and deploying a package website with pkgdown.

Shinyapps.io

Shinyapps.io is a self-service publishing platform operated by Posit. Users can deploy applications, reports, and APIs to the cloud on shared servers. This chapter covers:

Docker

Docker covers how using Docker can simplify setting up your R environment and reduce the “it works on my machine” problem:

GitHub Actions

Continuous Integration/Continuous Deployment (CI/CD) can be implemented for your Shiny app-package using GitHub actions. This chapter covers the following workflows:

Package websites

pkgdown helps us easily create websites for our app-packages. This chapter covers: