Deploying an existing *and elderly* Rails app to heroku.
After adding the remote git location for our heroku app, we run git push -f heroku and get:
The authenticity of host 'heroku.com (75.101.137.180)' can't be established.
RSA key fingerprint is ...
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'heroku.com,75.101.137.180' (RSA) to the list of known hosts.
Warning: Permanently added '10.252.42.127' (RSA) to the list of known hosts.
updating 'refs/heads/master'
from d07a31b1559243f057f382775e1059cb4e32587c
to 38f410a1e0d24386f96d4f33ae66d88eb541c311
Also local refs/remotes/heroku/master
Generating pack...
Done counting 7248 objects.
Deltifying 7248 objects...
100% (7248/7248) done
Writing 7248 objects...
100% (7248/7248) done
Total 7248 (delta 3775), reused 7238 (delta 3771)
refs/heads/master: d07a31b1559243f057f382775e1059cb4e32587c -> 38f410a1e0d24386f96d4f33ae66d88eb541c311
HEAD is now at 38f410a... Readying for heroku.
Running migrations...
rake aborted!
no such file to load -- rcov/rcovtask
/mnt/home/userapps/38568/Rakefile:17
(See full trace by running task with --trace)
(in /mnt/home/userapps/38568)
App restarting...
######################################################################## 100.0%
Deployed to http://xxx.heroku.com
This issue is being cause by either our customer lib/tasks/coverage.rake task which modifies the default code selection done by RCOV. Or it's the vendor/rails/rails_rcov plugin. Going to Heroku.com => the project => the editor => Vendor/ => Gem/Plugin Manager, we see that rails_rcov is already installed. Oh well, let's remove the lib... doesn't help. And now the plugin... OK--we're on to the next issue (and adding this one to follow-up.)
refs/heads/master: 71ec54fd860c6608f3bad1367e41868753e37276 -> 7aebb29cfb4160624bd8d9a00adb8457dd35dcd1
HEAD is now at 7aebb29... Moved rcov task to see if heroku will run now.
Running migrations...
Your config/boot.rb is outdated: Run "rake rails:update".
(in /mnt/home/userapps/38568)
This time we get a notice about our aged Rails version scripts. These are updated with rake rails:update and we're on to the next err:
rake aborted!
no such file to load -- ruport
(See full trace by running task with --trace)
Again--check the Plugins/Gem section and... woah! The interface wants a URL, not the name of our gem. Looking at the Ruport gem website isn't immediately encouraging. Let's freeze the ruport gem into our project vendor directory. First edited config/environment.rb and made sure config.gem 'ruport' was existing and uncommented. Then running rake gems:unpack creates the ruport files in vendor/gems. Now another deploy and we're live!