Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 3 years ago.
Improve this question
I wanted to get a bit of advice from the StackOverflow community on best practices/guidelines when inheriting a Rails app from another developer.
I am currently in the process of assuming control of development at my place of work. I have decent experience in front-end, SQL/Mongo, and Node.js, and a good amount of knowledge of Ruby. However, I do not have very much experience with Rails, per se.
The previous developer is being fairly unhelpful in providing dependencies and software versions of the various packages in use by the app. However, I have been able to get the following information and I have installed these dependencies (although they may differ from the versions needed by the app):
Postgres
Heroku CLI
AWS CLI
Redis
Sidekiq
AngularJS
Would any of you guys be able to briefly delineate the next steps of getting a previously existing app running (or point me to another source)?
Any help you all can provide is much appreciated. Thank you!
Things you need to retain:
Access credentials to all production servers and used services (including domain name and backup servers if there are any). It is not obligatory to be you, but someone at the company should have them (there may be some security/privacy related issues).
Access to source code
A fresh production backup (if possible)
Most of versions can be inferred from production system once you have full access.
Some others (like sidekiq etc) are in Gemfile.lock and yarn.lock files.
Then try to bring the system up from the backup - if you succeed - you'll be sure that everything is ok
Related
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 7 years ago.
Improve this question
Why not use a live packaging server for production instead of making a static bundle? Wouldn't it be beneficial to have it live because you can change it whenever without resubmitting the app? Of course, the downside is that you can't access it offline, but why don't solve it by caching a bundle and fetching new only when available?
It is possible to load the javascript bundle from a server, just as you describe. I'm not sure what source you are referring to when you say "why not use...", but I would imagine the reason this isn't recommended to everyone is that it wouldn't be quite as trivial as you presume:
How do you cache the bundle?
What happens when the package download fails?
What if the native executable is not compatible with the loaded script code because of some native dependencies have changed?
How do you handle hot loading new scripts to an already running application?
The point is that all these problems are possible to solve, but they do not just work out of the box, so you need to build the infrastructure to make it happen. There is also a product called AppHub (apparently yet not launched), that promises to do this all for you.
Another compelling reason is Apple's app store review policies. Apple has recently explicitly allowed apps to download and execute scripts, with the following provision (see section 3.3.2)
provided that such scripts and code do not change
the primary purpose of the Application by providing features or functionality that are inconsistent with the intended and advertised purpose of the Application as
submitted to the App Store.
However, among many developers there is quite a bit of uncertainty and suspicion whether Apple will continue to allow this, since it is so opposite to their previous review policies.
Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 2 years ago.
Improve this question
I'm new to Nix and quite excited about it (I've been using it so far for Haskell).
I'm planning to use it to deploy Php applications. However, how Nix deals with
Php packages (installed normally or with pear).
Working with PHP webapps generally requires several running services (php-fpm, httpd, mysqld, redis, etc). The answer depends on how you manage the services -- which, in turn, depends on whether you use:
(a) The full NixOS: NixOS provides a service-management layer - you edit a config file, twiddle some flags, and turn on the services. I haven't done this myself, and I think it needs a more pointed tutorial for folks coming from a PHP webdev background, but the system does exist.
(b) The crossplatform nix/nixpkgs: There does not appear to be a canonical service-management option here. nix basically just gives some binaries (php-fpm, mysqld, etc) which you can launch yourself. It's somewhat daunting for typical PHP developer.
Full disclosure: To try to improve the situation for crossplatform nix+PHP, I've written an example project locolamp. It won't help much with learning NixOS, but it may help get your toes wet with nix+php in cross-platform usage. See:
https://github.com/totten/locolamp
After spending a week trying to configure a LAMP platform and giving up (mainly because I couldn't make PHP send emails), I concluded that Nix is not ready for developping easily PHP application in production.
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
I'm new to rails and I am redoing and revamping my current website with it. I have been looking all over the internet about how to deploy my rails app to my server. It seems that everyone is mentioning AWS and Heroku. The problem is that I am not interested in paying money down the road when my website starts to grow.
So would it be worth it to set up my own infrastructure so I can change and modify it as my site grows or is it north worth the trouble for the prices that I could pay for someone (Heroku most likely) to worry about that for me?
Also is it even possible or feasible for that matter to deploy myself?
Thanks
TopGunCoder
I have a few rails projects hosted on my own virtual server. Ubuntu, rbenv, git, rails, passenger and mysql setup.. There are other setups, for example with unicorn an nginx..it really depends on your projects.
How many hits you'll expect per day/month?
I can recommend hosting little projects by your own. It is cheaper and very convenient. But you need know-how and time.
And the state-of-the art method for deploying rails apps is the capistrano tool.
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
I have been planning to host a site built on rails on the web. How can choose the correct hosting site? How do I know they have installed the same version of rails which I worked on? Can I ask the hosting site to install the required rails version and the gems. Or would it be only done to dedicated servers. If you guys wanna suggest any hosting sites, I would also welcome that.
I love so much heroku because is easy to use and it offer a scalable environment.
But i use dedicated servers with apache+passenger to run my rails application so i can do what i wan't on my system.
Some hosters offers a console to manage your gems so you can run your application in any version of rails.
If you're Linux savvy, you could also go with a VPS solution such as Linode. A little more work on your end, but you have complete control and will know exactly what versions of what are being used.
This website is good to choose Rails hosting http://www.railshosting.org/
i am working for a startup and they are currently hosting at heroku. Its built for rails and very good in terms of customer support.
the name "engineyard" is being heard these days a lot..you can probably give that a try..
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 9 years ago.
Improve this question
Ok, this sounds like a bit of a rant, but I was wondering if there was a technical reason that Erlang doesn't have a proper package management system by default.
No major technical reason really. Just different needs as the classic way of setting up and installing erlang software is though applications. And some use releases added to that.
Often you see erlang software distributed completely self reliant. That is that it contains all the libraries and the virtual machine together in a package and not needing any sorts of external dependencies. You even see this in development versions of packages. The source tree of the Riak database for example has all dependent libraries in it.
This is not a bad idea like many coming from Ruby(like me) may think. This way each application is self reliant. As one of Erlang's main goals is to be the most reliable thing available it makes every sense in the world that each application can have it's own version of the library. Thus making sure one app does not make the other unstable.
Try rebar; it's a build system for erlang that includes a dependency management system. It doesn't have a central repository like gem does with rubygems.org, so you have to specify git urls. But, it does save you the trouble of having to download nested deps; it takes care of that itself.
And it sticks with Erlang's philosophy by keeping the downloaded deps inside your project directory rather then in a central system location; this is similar to bundler's deploy mode.