Hi Andrew Having 2 separate repos to support separate environments sounds awful and deadly :) I think it's reasonable to have separate branches for development versus stable production, but that really does not have much to do with your environment. And disclaimer in advance that my answer is a bit rushed as I am working through some issues of my own right now....
But I would look into not hardcoding that kind of environment data into your codebase. Check out this Rails guide: http://guides.rubyonrails.org/configuring.html Heroku also makes it really easy to add environment variables to the different heroku apps, so that can help you with some configuration (having ENV variables in your config code instead of hardcoding) As for your specific example, you can use something like this to make your URLs flexible by environment: Rails.application.routes.default_url_options[:host] etc.... So I think your issue (or at least the one you mention) might be more of a config issue rather than deployment. Cheers Ben Wanicur On Sun, Jan 11, 2015 at 6:08 PM, Andrew Haines <[email protected]> wrote: > Greetings Fellow Problem Solvers, > > I want to open up a quick discussion on best practices for deployment of > Rails apps. > > As my application has grown, I have found that each deployment has become > more and more of a pain. > Certain files on my local code have changed slightly from files on the > server. For example, I have ajax calls written in javascript and the URLs > are hardcoded. So for my local code, the url would be > localhost:3000/something. On the server it is > https://hourslogger.com/something. This means I can't just upload all my > files at once, or I will introduce bugs that will break the app. I can't > just have the app break because of the number of users we have. > > I currently run the app on Digital Ocean. I have 2 Git repos; one for the > local code and one for the production server. My current deployment process > is to keep a list of the files that are different and upload those files > individually. I assume all the other files are the same (meaning local = > server). I feel like this is error prone/ hacky so I wanted to ask for > advice. > > I am building out my test suite to try and catch these problems when they > happen, but is there a better way to deploy or a best practices to follow? > AKA Tools where you can deploy with a click of a button, and not have it > break the app. > > I appreciate any help from software gurus greater than I =) > > - Drew Haines > DevCo > > > -- > -- > SD Ruby mailing list > [email protected] > http://groups.google.com/group/sdruby > --- > You received this message because you are subscribed to the Google Groups > "SD Ruby" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > For more options, visit https://groups.google.com/d/optout. > -- -- SD Ruby mailing list [email protected] http://groups.google.com/group/sdruby --- You received this message because you are subscribed to the Google Groups "SD Ruby" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
