Provisional: New And Improved!

Back in May, we announced Provisional, our tool for automating bootstraps. Since then, we've made a few changes that we think are worth mentioning in a new post. Check out our Provisional commercial after the cut.

Hi, Heroku here!

Heroku is an “instant Ruby platform” that makes it ridiculously simple to deploy Rails and Rack-based Ruby applications. Heroku’s deployment process is based on Git; you push your application up to a remote hosted on Heroku, and they take care of the rest. (Honestly, they do. As someone who’s way too familiar with Capistrano, I was impressed at how little effort is needed to get an application running on Heroku. Perhaps that’ll be another blog post, some day.)

Provisional can now set up your new application on Heroku. Just specify “heroku” as your SCM. Provisional will create a Git repository as usual, add the Heroku remote, and push up when it’s done. For this to work, you’ll need to install Heroku’s command-line tool, as described on their site. You’ll also need to have run that tool at least once, so that Heroku can log you in and set up your SSH keys. Do that, and Provisional is good to go.

But wait, there’s more! Mercurial and Bazaar

It’s no secret that we’re a Ruby and Rails shop here at Viget. As such, we tend to use the tools that the rest of the Ruby and Rails world uses, and for distributed SCM, that means Git. There are other such tools out there, though. Those of you who enjoyed the Vi vs. Emacs, Linux vs. BSD or Gnome vs. KDE crusades will love the arguing that goes on in the distributed SCM arena. Thrills! Chills! Passionate pulpit-pounding! It’s all there.

Provisional’s intended position in this arena is like Switzerland: neutral, but fully armed. To that end, Provisional now supports Mercurial and Bazaar, two SCMs that are especially popular in the Python sphere of influence, but have their Rubyist fans as well. Just specify “hg” or “bzr” as your SCM to create a local Mercurial or Bazaar repository, respectively. You’ll need to have Mercurial/Bazaar installed for this to work, obviously. They should be in your package/port system of choice, or you can find packages at the sites above.

Download now and you’ll also get… Beanstalk

Provisional has, with the support of Repo Man, supported Subversion repositories since its initial public announcement. We won’t ask why you’re still using Subversion; we assume your reasons are good, or at least passionately-held. Provisional doesn’t intend to leave you behind any time soon, and in fact, Subversion users now have another option: Beanstalk, a hosted Subversion service with a lot of nice features.

Beanstalk requires a bit of setup, as well as admission into their API program, which is currently in private beta. This is more than we have space to explain here, so just take a look at Provisional’s README for the details.

Here’s how to order!

All of these features are in the newest release of Provisional, version 2.1.11. It’s available now on Rubyforge, so just do the usual:

gem install provisional 

Developers are standing by to answer your questions in the comments!

Mark Cornick

Posted in Article Category: #Code