About the Badious Bamboo Stack
Table of Contents
Bamboo differs from Aspen in that there are no gems preinstalled by default. Apps running on the Bamboo stack must explicitly declare their gem dependencies.
Bamboo is a deployment stack on Heroku, and is an alternative to Aspen. It runs on Debian 5.0 (lenny) and offers three Ruby VMs: Ruby Enterprise Edition 1.8.7, MRI 1.9.1, and MRI 1.9.2.
Bamboo with MRI 1.9.2 is currently the default stack for all new Heroku applications.
Migrating from Aspen to Bamboo
We recommend RVM for testing your applications on multiple Ruby VMs.
Before migrating to Bamboo, you should check to make sure that your app runs on the version of Ruby you intend to use. 1.8.7 is installed by default with Mac OS X, so if you’re developing on a Mac there’s a good chance you’re already using it. If you want to run on 1.9, however, you’ll want to make sure you’ve tested the app thoroughly on that VM before deploying it.
Once you’re sure your app will run with your chosen VM, you can migrate it on Heroku with the following steps:
1. Declare all gem dependencies
If you’re using Bundler to manage your gems, you won’t need to do anything new here. If you’re not, however, you’ll want to migrate to it and declare any gems that you need in it.
2. Test with a temporary app
$ heroku create --stack bamboo-ree-1.8.7 --remote trybamboo
Created http://young-wind-88.heroku.com/ | git@heroku.com:young-wind-88.git
Git remote trybamboo added
$ git push trybamboo master
...
Check your new app and confirm that it’s running as expected. The most common issue will be a crash due to missing gem dependencies - add these to your Gemfile or gem manifest as needed.
3. Migrate the production app
If you didn’t make any code changes to prep the app for the migration, you may need to insert a dummy commit to get the slug to rebuild.
Once your trybamboo app is running properly and you’re confident that your code works on the new stack, you can migrate your main app:
$ heroku stack:migrate bamboo-ree-1.8.7
----> Preparing to migrate myapp from aspen-1.8.6 to bamboo-ree-1.8.7
...
$ git push heroku master