This repository collects the information and material related to the e-Rum2020 workshop from Mirai Solutions.
If you are looking for a hands-on introduction to CI/CD pipelines with a structured approach to collaborative development, this is the workshop you are looking for. To get your head around pull requests and branches, travis.yml or GitHub Actions jobs, workflows and processes for controlled development and deployments using free open source tools, all you need is your laptop (with R >= 3.6.x, ideally 4.0.x, RStudio and Git installed), a GitHub account and joining us.
In this hands-on 3-hours session we will:
- highlight the benefits of versioning your R code with Git and GitHub;
- show how to set up automated controls of your development on Travis CI, leveraging unit tests and R’s built-in package checks for Continuous Integration (CI);
- discuss effective branching models, pull requests and branch protection on GitHub, an approach especially important in a collaborative environment;
- demonstrate how to set up Continuous Deployment (CD) of packaged applications via Travis CI / GitHub Actions.
A simple R package with a Shiny app will be used as a running example to lay out a full workflow for stable, secure, reproducible deployments and releases.
This workshop is the natural continuation of "Is R ready for Production? Let’s develop a Professional Shiny Application!", however, attendance to the previous workshop is not a mandatory prerequisite.
Keywords: CI/CD, Git, GitHub, Travis CI, Actions
When: Saturday June 20th, 14.00-17.00 CEST
It is important that you go through the following prerequisites before the workshop, and feel free to contact us using the workshop's dedicated e-Rum2020 Slack channel if you have questions or issues.
- A GitHub account is necessary for the workshop: also make sure you have its password at hand
- Git must be installed on your computer
- A recent version of RStudio (>= 1.2) is recommended
- R installation: R >= 3.6.x, ideally R 4.0.x
- Packages pre-installation:
- Create a new RStudio project from the repo https://github.com/miraisolutions/eRum2020Workshop-prereqs
File > New Project... > Version Control > Git
- Once in the new project, run at the R console
install.packages(c("remotes", "renv")) remotes::install_deps() renv::activate() renv::restore() # you can ignore warnings about a different R version
- Create a new RStudio project from the repo https://github.com/miraisolutions/eRum2020Workshop-prereqs
- To make working with Git easier, you can optionally install additional tools we will mention in the workshop
- compareWith R package
- Sublime Merge
We will lead the workshop mostly hands-on, but we have a supporting presentation available at http://mirai-solutions.ch/eRum2020Workshop/workshop-slides.html
The working example will use as a starting point is available at the following repo
You don't need to do anything with it ahead of the workshop.