Ruby on Rails Thursday, October 31, 2019

Thanks, Walther, on the suggestion of adding a docker container specifically dedicated to running tests.  (I personally don't agree with the use of Guard, so I'd just run the shell and then enter the test commands when necessary.)  Why isn't this normally done?

But exactly what is the docker-compose command for running the test suite on Octobox?  Every time I've tried to run the test suite with a docker-compose command, I get stopped in my tracks by an error message telling me that simplecov isn't loading.  For reasons I haven't been able to figure out, the simplecov gem doesn't get installed when I enter "bundle install" even though it's in the Gemfile and Gemfile.lock.  I even tried starting a Docker container to run an sh shell, and running "bundle install" didn't install the simplecov gem.

On Thursday, October 31, 2019 at 6:13:23 AM UTC-5, walt wrote:
IMHO ".., I use just one Docker container" is the first order of (your) business to get straighten out :)

Using containers with Rails is quite a feast - and an added bonus is that once set up you have next to zero footprint on your 'own' computer (that is a blatant lye 'cause your code base needs to sit somewhere, and the docker images has to be in place too - but even that could be 'clouded')

Docker containers doesn't really start to shining until you let them ;)

That is - delegate delegate delegate - or: one container per "task" 

You'll have at least three containers spinning - again IMHO. An app container with the Puma webserver serving the Rails stuff, a database container for the Rails models to persist their data, and a container for a reversed NgINX proxy serving clients on 80/443 and forwarding the necessary requests to the 'animal' (Puma). Other container candidates are: Redis, Sidekiq, and memcached. Here are the observations by Cloud66 - https://blog.cloud66.com/containers-for-rails-developers-use-containers-while-staying-true-to-your-ror-roots/

Use hub.docker.com to load the necessary images, then use github.com to load the codebase, then 

docker-compose build
docker-compose up (-d if you'd like it to sit in the background=daemonized)

That's it - more or less

Getting there will take you through one/two hoops I know for sure but it's worth the journey!


Chris Blunt did an excellent demonstration job!

--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-talk+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/f91bed88-c4fc-4230-91e2-61da850b0c80%40googlegroups.com.

No comments:

Post a Comment