{"id":13880504,"url":"https://github.com/jqr/heroku_san","last_synced_at":"2025-04-04T09:07:40.695Z","repository":{"id":421433,"uuid":"440959","full_name":"jqr/heroku_san","owner":"jqr","description":"Helpful stuffs for Heroku.","archived":false,"fork":false,"pushed_at":"2022-12-14T02:01:31.000Z","size":415,"stargazers_count":585,"open_issues_count":40,"forks_count":99,"subscribers_count":11,"default_branch":"master","last_synced_at":"2025-03-28T08:05:22.270Z","etag":null,"topics":["cli","heroku","heroku-apps","rake"],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jqr.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2009-12-17T20:22:06.000Z","updated_at":"2025-03-10T19:32:00.000Z","dependencies_parsed_at":"2023-01-13T10:16:37.725Z","dependency_job_id":null,"html_url":"https://github.com/jqr/heroku_san","commit_stats":null,"previous_names":["fastestforward/heroku_san"],"tags_count":74,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jqr%2Fheroku_san","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jqr%2Fheroku_san/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jqr%2Fheroku_san/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jqr%2Fheroku_san/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jqr","download_url":"https://codeload.github.com/jqr/heroku_san/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247149500,"owners_count":20891954,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","heroku","heroku-apps","rake"],"created_at":"2024-08-06T08:03:05.347Z","updated_at":"2025-04-04T09:07:40.677Z","avatar_url":"https://github.com/jqr.png","language":"Ruby","funding_links":[],"categories":["Ruby"],"sub_categories":[],"readme":"# Heroku San\nHelpful rake tasks for Heroku.\n\n[![Build Status](https://secure.travis-ci.org/jqr/heroku_san.png)](http://travis-ci.org/jqr/heroku_san)\n[![Code Climate](https://codeclimate.com/github/jqr/heroku_san.png)](https://codeclimate.com/github/jqr/heroku_san)\n[![Gemnasium](https://gemnasium.com/jqr/heroku_san.png)](https://gemnasium.com/jqr/heroku_san)\n\n## Install\n\n### Rails 3+\n\nAdd this to your `Gemfile`:\n\n```ruby\n  group :development do\n    gem 'heroku_san'\n  end\n```\n\n### Rails 2\n\nTo install add the following to `config/environment.rb`:\n\n```ruby\n  config.gem 'heroku_san'\n```\n\nRake tasks are not automatically loaded from gems, so you’ll need to add the following to your `Rakefile`:\n\n```ruby\n  begin\n    require 'heroku_san/tasks'\n  rescue LoadError\n    STDERR.puts \"Run `rake gems:install` to install heroku_san\"\n  end\n```\n\n### Sinatra\n\nUpdate your `Gemfile`:\n\n```ruby\n  group :development do\n    gem 'heroku_san'\n  end\n```\n\nUpdate your `Rakefile`:\n\n```ruby\n  require \"bundler/setup\"\n  begin\n    require \"heroku_san\"\n    config_file = File.join(File.expand_path(File.dirname(__FILE__)), 'config', 'heroku.yml')\n    HerokuSan.project = HerokuSan::Project.new(config_file, :deploy =\u003e HerokuSan::Deploy::Sinatra)\n    load \"heroku_san/tasks.rb\"\n  rescue LoadError\n    # The gem shouldn't be installed in a production environment\n  end\n```\n\n## Configure\n\nIn `config/heroku.yml` you will need to add the Heroku apps that you would like to attach to this project. You can generate this file by running:\n\n### Rails 3+\n\n```sh\n  rails generate heroku_san\n```\n\n### Everything else\n\n```sh\n  rake heroku:create_config\n```\n\nCustomize the file for your project. If this is a fresh project, `heroku_san` can create all the applications for you, and set each one's RACK_ENV.\n\n```sh\n  rake all heroku:create heroku:rack_env\n```\n\nConfigure your Heroku apps according to `config/heroku.yml` by running:\n\n```sh\n  rake all heroku:config\n```\n\n## Usage\n\nAfter configuring your Heroku apps you can use rake tasks to control the\napps.\n\n```sh\n  rake production deploy\n```\n\nA rake task with the shorthand name of each app is now available and adds that\nserver to the list that subsequent commands will execute on. Because this list\nis additive, you can easily select which servers to run a command on.\n\n```sh\n  rake demo staging restart\n```\n\nA special rake task 'all' is created that causes any further commands to\nexecute on all Heroku apps.\n\n```sh\n  rake all restart\n```\n\nNeed to add remotes for each app?\n\n  rake all heroku:remotes\n\nA full list of tasks provided:\n\n```sh\n  rake heroku:addons                # Install addons for the application.\n  rake heroku:addons:local          # List configured addons, without installing them\n  rake heroku:apps                  # Lists configured apps\n  rake heroku:apps:local            # Lists configured apps without hitting heroku\n  rake heroku:config                # Add config:vars to each application.\n  rake heroku:config:list           # Lists config variables as set on Heroku\n  rake heroku:config:list:local     # Lists local config variables without setting them\n  rake heroku:config:rack_env       # Add proper RACK_ENV to each application\n  rake heroku:console               # Opens a remote console\n  rake heroku:create                # Creates the Heroku app\n  rake heroku:create_config         # Creates an example configuration file\n  rake heroku:db:migrate            # Migrates and restarts remote servers\n  rake heroku:db:pull               # Pull database from stage to local dev database\n  rake heroku:deploy[commit]        # Pushes the given commit, migrates and restarts (default: HEAD)\n  rake heroku:deploy:after          # Callback after deploys\n  rake heroku:deploy:before         # Callback before deploys\n  rake heroku:deploy:force[commit]  # Force-pushes the given commit, migrates and restarts (default: HEAD)\n  rake heroku:logs                  # Shows the Heroku logs\n  rake heroku:logs:tail             # Tail the Heroku logs (requires logging:expanded)\n  rake heroku:maintenance           # Enable maintenance mode\n  rake heroku:maintenance_off       # Disable maintenance mode\n  rake heroku:maintenance_on        # Enable maintenance mode\n  rake heroku:push[commit]          # Pushes the given commit (default: HEAD)\n  rake heroku:push:force[commit]    # Force-pushes the given commit (default: HEAD)\n  rake heroku:rake[task]            # Runs a rake task remotely\n  rake heroku:remotes               # Add git remotes for all apps in this project\n  rake heroku:restart               # Restarts remote servers\n  rake heroku:shell                 # Opens a bash shell within app\n  rake heroku:stage:all             # Select all Heroku apps for later command\n```\n\nFrequently used tasks are aliased into the global namespace:\n\n```ruby\n  task :all           =\u003e 'heroku:stage:all'\n  task :deploy        =\u003e 'heroku:deploy'\n  task 'deploy:force' =\u003e 'heroku:deploy:force'\n  task :before_deploy =\u003e 'heroku:deploy:before'\n  task :after_deploy  =\u003e 'heroku:deploy:after'\n  task :console       =\u003e 'heroku:console'\n  task :restart       =\u003e 'heroku:restart'\n  task :migrate       =\u003e 'heroku:db:migrate'\n  task :logs          =\u003e 'heroku:logs:default'\n  task 'logs:tail'    =\u003e 'heroku:logs:tail'\n  task 'shell'        =\u003e 'heroku:shell'\n```\n\n## Links\n\nHomepage: http://github.com/fastestforward/heroku_san\n\nIssue Tracker: http://github.com/fastestforward/heroku_san/issues\n\n## Contributors\n\n* Elijah Miller (elijah.miller@gmail.com)\n* Glenn Roberts (glenn.roberts@siyelo.com)\n* Damien Mathieu (42@dmathieu.com)\n* Matthew Hassfurder (matthew.hassfurder@gmail.com)\n* Peter Jaros\n* Lee Semel\n* Michael Haddad (michael@ludditetechnology.com)\n* Les Hill (leshill@gmail.com)\n* Bryan Ash\n* Barry Hess (barry@bjhess.com)\n* Ryan Ahearn (ryan@craftsoftwaresolutions.com)\n* Jon Wood (jon@blankpad.net)\n* Mat Schaffer (mat@schaffer.me)\n* Jonathan Hironaga (jonathan.hironaga@halogennetwork.com)\n* Ken Mayer (ken@bitwrangler.com)\n* Matt Burke (https://github.com/spraints)\n\n## License\n\nCopyright (c) 2008-2012 Elijah Miller \u003cmailto:elijah.miller@gmail.com\u003e, released under the MIT license.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjqr%2Fheroku_san","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjqr%2Fheroku_san","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjqr%2Fheroku_san/lists"}