Skip to content

insightsengineering/ci-images

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Docker Images for CI

Docker images that will be used for CI purposes via GitHub Actions.

How it works

There is a Dockerfile available at the base of this repository which is designed to accept built-time ARGuments based such as the R version, BioConductor version, and the original distribution on which the image is based on.

The scripts directory contains scripts which install the various components such as R packages and system dependencies that make up a majority of the contents of the final image.

Finally, Github Actions workflows are available in the .github/workflows directory which support on-demand as well as scheduled image building workflows.

As the packages and system dependencies contained in these images might be far too heavy for general use cases, please feel free to fork this repository and build your own images. The CI/CD workflows are portable, so they will work on any forked repository as long as it has GitHub Actions enabled on it.

Usage

All available images originating from this repository are available here.

Pull the images by:

  1. Authenticating against the Github Container Registry (GHCR) by following the steps here.

  2. Pulling an image from GHCR by running:

    # In this example, we're pulling the latest rstudio-local image with R 4.2.2 and BioConductor 3.18
    docker pull ghcr.io/insightsengineering/rstudio_4.2.2_bioc_3.18:latest
  3. Start a container by running and initiate an RStudio Server session from the container:

    # In this example, we're pulling the latest rstudio-local image with R 4.2.2 and BioConductor 3.18
    docker run --rm -p 8787:8787 -e PASSWORD=test ghcr.io/insightsengineering/rstudio-local_4.2.2_bioc_3.18:latest
  4. Log in to RStudio Server locally by accessing http://localhost:8787 and using rstudio as the username and test as the password

An example of image usage can be seen in the screenshot below:

Screenshot with example usage