This is a sample Ruby application, using the Sinatra microframework, for use with Wercker. This application uses the default ruby container obtained from the Docker Hub
Firstly, ensure you have the wercker cli installed.
Now clone this repo and cd into the directory:
git clone https://github.com/wercker/getting-started-ruby.git
cd getting-started-ruby
To build the app:
wercker build
You can run the sample app in a couple of different ways. With Sinatra installed locally along with Ruby, the first is to simply launch the sample app:
ruby main.rb
Now point your browser at http://localhost:4567 to see:
{"cities":["Amsterdam","San Francisco","Berlin","New York","Tokyo"]}
The second, and more useful, way is to use the wercker dev command to launch the binary within a Docker container, using the base image defined in the box:id property at the top of the wercker.yml, like so:
wercker dev --expose-ports
The dev target inside wercker.yml uses the internal/watch step to dynamically reload the runtime container when sourcefile changes are detected, which allows you to quickly test changes without having to kill/rebuild/relaunch the container. For instance, add another city to the array on `main.rb:6' like so:
return {:cities=> ["Amsterdam", "San Francisco", "Berlin", "New York", "Tokyo", "London"]}.to_json
and then refresh your browser pointing to http://localhost:8080 to see:
{"cities":["Amsterdam","San Francisco","Berlin","New York","Tokyo","London"]}
Sign up for Wercker: http://www.wercker.com
Learn more at: http://devcenter.wercker.com