Deploy

Published

2026-10-16

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 2026-10-13 17:58: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      2026-10-13 17:58:52
## 2 16.2_test-data      2026-10-13 17:58:52
## 3 16.3_test-logger    2026-10-13 17:58:52
## 4 16.4_test-snapshots 2026-10-13 17:58:53

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 2026-10-13 17:58:53

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 2026-10-13 17:58:53

Deploy

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

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: