Project

roro

0.0
There's a lot of open issues
A long-lived project that still receives updates
Roro is a containerization and continuous integration framework for Ruby on Rails applications. Like Rails, it favors convention over configuration "...for programmer happiness and sustainable productivity."
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

Runtime

~> 13.0, >= 13.0.1
~> 1.21
~> 1.1
~> 1.1
 Project Readme

RoRo

RoRo is a CLI that runs best in a container and which you can use to:

  1. Roll your own greenfield app into a container.
  2. Roll it off your container and onto your dev box.
  3. Roll it off your dev box and onto source control.
  4. Roll it off source control and onto ci/cd.
  5. Roll it off ci/cd and onto your image repository.
  6. Roll it off your image repository and onto your production servers.

You can also use it to safely manage and expose your environment variables in the containers and environmens that need them.

Demo

Here you go

Getting started

Check your Docker and Docker Compose Dependencies:

You'll need Docker and Docker Compose. To confirm Docker is installed:

$ docker -v
Docker version 18.03.1-ce, build 9ee9f40

To confirm Docker Compose is installed:

$ docker-compose -v
docker-compose version 1.21.0, build 5920eb0

Greenfield a new app:

  1. Most RoRo adventures will copy files from their container and onto your host machine. To avoid making a mess, make a new directory and navigate into it:
$ mkdir -p greenfield
$ cd greenfield
  1. Use the RoRo CLI to generate a greenfield app inside the RoRo container and then copy it onto your development machine:
docker run \
  --name artifact \
  -v $PWD:/artifact \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -u 0 \
  -it handsomefencer/roro:latest roro rollon

Note for Linux users

Once you've rolled your greenfielded app out of the RoRo container and onto your development machine, you'll want to establish ownership of them

$ sudo chown <username><user group> -R .

Contributing

I can definitely use some help and if you have any thoughts about this, please open an issue.

License

The gem is available as open source under the terms of the MIT License.