Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Simple RubyGem for tagging and deploying versioned releases of an application to Heroku with the ability to do rollbacks.

branch: master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 lib
Octocat-spinner-32 spec
Octocat-spinner-32 .gitignore
Octocat-spinner-32 CHANGELOG.md
Octocat-spinner-32 Gemfile
Octocat-spinner-32 Gemfile.lock
Octocat-spinner-32 README.rdoc
Octocat-spinner-32 Rakefile
Octocat-spinner-32 heroku_release.gemspec
README.rdoc

Heroku Release

Simple RubyGem for tagging and deploying versioned releases of an application to Heroku with the ability to do rollbacks.

Usage

If you are using Bundler, add a gem dependency like this:

group :development, :test do
  gem 'heroku_release', '~> version known to work'
end

Require the Rake tasks in your Rakefile:

require 'heroku_release/tasks'

You have a few configuration options. If you are using a Git remote other than “heroku” then you must configure that. You can choose to have the release version written to a file on deploy so you can check the version on the live server. You can also choose to have a CHANGELOG file auto-generated. Here is a configuration example:

HerokuRelease.config.heroku_remote = "production" # git remote for heroku, defaults to "heroku"
HerokuRelease.config.version_file_path = "public/version" # if not set no version file will be generated
HerokuRelease.config.changelog_path = "CHANGELOG" # if not set no changelog file will be generated
HerokuRelease.config.branch = 'production' # defaults to 'master'

To deploy the master branch to production, use the heroku_release rake task:

rake heroku_release COMMENT="This is a comment describing what changed since the last release"

To deploy another branch to production, send the BRANCH env variable:

rake heroku_release BRANCH="production_branch"

If the deploy went horribly wrong and you need to do a rollback you can do so:

rake heroku_release:rollback

In order to see the changelog:

rake heroku_release:log

To examine git commits since the last release you can do:

rake heroku_release:pending

License

This library is released under the MIT license.

TODO

It seems Heroku is working on incorporating rollback functionality into the heroku command. Something to look into…

Credit

This gem was inspired by this gist.

Something went wrong with that request. Please try again.