Skip to content

MarkEdmondson1234/googleCloudRunner

Repository files navigation

googleCloudRunner

CloudBuild codecov CRAN CodeFactor R-CMD-check

As easy as possible R scripts in the cloud, via Cloud Run, Cloud Build and Cloud Scheduler. Continuous Development and Integration tools on Google Cloud Platform.

Not an official Google product.

Ambition

Select an R file, and have it scheduled in the cloud with a couple of clicks.

Deploy your plumber API code automatically on Cloud Run to scale from 0 (no cost) to millions (auto-scaling)

Integrate R inputs and outputs with other languages in a serverless cloud environment.

Have R code react to events such as GitHub pushes, pub/sub messages and Cloud Storage file events.

Install

Get the CRAN stable version via

install.packages("googleCloudRunner")

Or the development version via:

remotes::install_github("MarkEdmondson1234/googleCloudRunner")

The dev version of the website is here which may include documentation of features not yet on CRAN.

Usage

Browse the googleCloudRunner website for topics on how to use:

Diagrams

Some overviews of the function dependencies are below:

Scheduling using Cloud Scheduler

Building using Cloud Build

Helper deployment functions calling lower-level functions

Cloud Run functionality

library(targets) integration functions

Sponsor

<iframe src="https://github.com/sponsors/MarkEdmondson1234/card" title="Sponsor MarkEdmondson1234" height="225" width="600" style="border: 0;"></iframe>

Resources

Read the blog introducing the googleCloudRunner package that goes into some background.

A talk at R's 20th anniversary was performed at celebRation in Copenhagen on 29th Feb, 2020. The slides from the talk are here and a video of it is here:

<iframe width="560" height="315" src="https://www.youtube.com/embed/YRvejW9FSJ4" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

A googleCloudRunner YouTube playlist of the demos is here.

If you blog anything interesting about the package let me know and I will list it here.