The goal of mdsrocker is to provide a framework for building a stack of version-stable docker images based on rocker/r-ver, an ubuntu-based docker image containing version-stable base R & a set of src build tools.
We follow the version tag approach of the rocker-project, using the
image tag for specifying which version of R is desired
(e.g. rocker/r-ver: 4.3.1
). Omit the tag or specify :latest
to
always receive the latest versions.
This building system is designed as an R package.
All relevant information is stored in two data.frames
(as package
data):
mdsrocker_installation
: three different software bundles for the
various scopes of the docker images, each containing predefined sets
of software packages (system libraries, extra software packages,
Python packages, R packages) to install.mdsrocker_dockerfiles
: four dockerfile specifications, each
containing the relevant information for generating the dockerfiles.In this building system,
scripts/
directory,dockerfiles/
, and.github/workflows/
:update-building-system.yml
: re-builds all scripts if any changes
were done in the repository (e.g. adding an R version to the
DESCRIPTION
file or adding some R packages to the software
bundles),publish-docker-images.yml
: actually builds and pushes the defined
image stack.All scripts are automatically updated in the Github Actions Workflow
update-building-system.yml
(by running execute.R
) when commited and
pushed.
For adding changes (e.g. additional R packages), do:
mdseasy::easy_version(element = "dev", check_renv = FALSE, check_gitlab_ci = FALSE, push = FALSE)
data-raw/datasets.R
,devtools::document()
devtools::check()
NEWS.md
gert::git_commit_all("YOUR COMMIT MESSAGE")
mdseasy::easy_version(check_renv = FALSE, check_gitlab_ci = FALSE)
The Github Actions workflow publish-docker-images.yml
is:
update-building-system.yml
workflow on main
branch,Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.