Helpful rake tasks for Heroku for Padrino projects.
Copy lib/tasks/heroku.rake to lib/tasks/ in your project Copy lib/templates/heroku.example.yml to config/ in your project
In config/heroku.yml you will need add the Heroku apps that you would like to attach to this project. You can generate this file and edit it by running:
rake heroku:create_config
If this is a fresh project, heroku_san can create all the applications for you, and set the RACK_ENV.
rake heroku:all heroku:create heroku:rack_env
After configuring your Heroku apps you can use rake tasks to control the apps.
rake heroku:production heroku:deploy
A rake task with the shorthand name of each app is now available and adds that server to the list that subsequent commands will execute on. Because this list is additive, you can easily select which servers to run a command on.
rake heroku:demo heroku:staging heroku:restart
A special rake task ‘heroku:all’ is created that causes any further commands to execute on all heroku apps.
Manipulate collaborators on all this project’s apps (prompts for email address):
rake heroku:all heroku:share rake herkou:all heroku:unshare
Need to add remotes for each app?
rake heroku:all heroku:remotes
A full list of tasks provided (padrino rake -T heroku)
rake heroku:all # Select all Heroku apps for later command rake heroku:console # Opens a remote console rake heroku:deploy[commit] # Pushes the given commit, migrates and restarts (default: HEAD) rake heroku:deploy:force[commit] # Force-pushes the given commit, migrates and restarts (default: HEAD) rake heroku:after_deploy # Callback after deploys rake heroku:before_deploy # Callback before deploys rake heroku:capture # Captures a bundle on Heroku rake heroku:apps # Lists configured apps rake heroku:create # Creates the Heroku app rake heroku:create_config # Creates an example configuration file rake heroku:gems # Generate the Heroku gems manifest from gem dependencies rake heroku:maintenance # Enable maintenance mode rake heroku:maintenance_off # Disable maintenance mode rake heroku:push # Pushes the given commit (default: HEAD) rake heroku:push:force # Force-pushes the given commit (default: HEAD) rake heroku:remotes # Add git remotes for all apps in this project rake heroku:rack_env # Add proper RACK_ENV to each application rake heroku:rake[task] # Runs a rake task remotely rake heroku:share # Adds a collaborator rake heroku:unshare # Removes a collaborator rake heroku:logs # Shows the Heroku logs rake heroku:migrate # Migrates and restarts remote servers rake heroku:restart # Restarts remote servers
-
Padrino version is compacted into one file (heroku.rake)
-
All tasks are namespaced under heroku.
- Homepage
- Issue Tracker
-
Elijah Miller ([email protected])
-
Glenn Roberts ([email protected])
-
Damien Mathieu ([email protected])
-
Matthew Hassfurder ([email protected])
-
Peter Jaros
-
Lee Semel
-
Michael Haddad ([email protected])
-
Les Hill ([email protected])
-
Bryan Ash
-
Barry Hess ([email protected])
-
Ryan Ahearn ([email protected])
-
Jon Wood ([email protected])
-
Mat Schaffer ([email protected])
- License
-
Copyright © 2009 Elijah Miller <[email protected]>, released under the MIT license.