Shinyhero
An end-to-end pipeline for the DevOps-illiterate.
What it is:
- A template for building Shiny applications and hosting them on
Heroku
(or other PaaS) - An automated pipeline for the development lifecyle of an application
What I did:
- Created a minimal example of a Shiny application locally
- Set up renv to responsibly handle package dependencies
- Wrote a
Dockerfile
to containerize the app for hosting - Wrote a
.travis.yml
to automate the CI/CD process toHeroku
on each push to Github
What I learned:
- PaaS
- Heroku
- DevOps
- Docker
- Travis CI
- CI/CD pipeline
- Container Registries
- Package management
- Renv
Why it interests me:
- Shiny applications are not necessarily written by people with experience in DevOps or web infrastructure
- Shinyapps.io allows Shiny developers to deploy easily, but with many restrictions at the free tier
- Rather than learning another language or framework, this tool allows
R
users more freedom in deployment - I struggled to understand how to get these tools to work together and want to contribute my solution to the
R
ecosystem