Heroku now has an API (accessible from the command line, a Ruby library, or REST calls), revision control on all apps with Git, and remote access to the Git repository.
The combination of these new features means that you can now work on your apps using the local tools you love – like TextMate, vi, or emacs – and still get the benefit of zero-configuration deployment to Heroku.
How does it work? Grab the Heroku gem with “gem install heroku”. A sample work session looks like this:
heroku clone myapp cd myapp ruby script/server …edit locally… git add . git commit -m “local changes” git pushThe final step will deploy the app to Heroku, including running the migrations on the database and restarting the server. Watch the screencast to see it in action, or just grab the gem and give it a try yourself. RDocs here.
Combine your local tools and the Heroku in-the-cloud development tools in any combination you like. Perhaps you want to work locally while at home, but use the web editor when traveling. Every commit to the repository is available from both.
The Heroku API gets a major update today; you can now view and manage all of your application’s settings straight from the command line. New in this version:
A taste of the new command-line goodness:
adam@kvasir:~$ heroku create gagetron Created http://gagetron.heroku.com/ | git@heroku.com:gagetron.git
adam@kvasir:~$ heroku info gagetron === gagetron Web URL: http://gagetron.heroku.com/ Git Repo: git@heroku.com:gagetron.git Mode: development Public: false Collaborators: adam@example.com (edit)
adam@kvasir:~$ heroku sharing gagetron --add joe@example.com joe@example.com added as a view-only collaborator on gagetron.
adam@kvasir:~$ heroku rake gagetron routes (in /mnt/home/userapps/27934) /:controller/:action/:id /:controller/:action/:id.:format
There’s a new screencast which shows managing sharing from the command line. We’ve also updated the screencasts which show how to use the API and Git to edit locally, then deploy to Heroku.
Grab the new gem from Rubyforge with gem install heroku, read the docs, or browse the source.