Wildland DevTools
This is a gem that contains all of our dev rake tasks.
These are most useful for projects created by trailhead and are deployed on heroku using the pipeline feature. This allows for separate staging and production enviroments as well as review apps.
Installation
- Add the following to your
Gemfile:
gem 'wildland_dev_tools', '~>1.0'
Typically for wildland projects you will want to put this inside the dev/test block:
group :development, :test do
...
gem 'wildland_dev_tools', '~>1.0'
...
end
- Run
bundle installto install the gem.
Heroku Tasks require the following steps
- Install the heroku CLI.
- For OSx users you can do this using brew by running
brew install heroku.
- For OSx users you can do this using brew by running
- Ensure you have your
productionandstaginggit remotes set.heroku git:remote -a <staging-app> -r stagingwhere<staging-app>is your heroku staging app name.heroku git:remote -a <production-app> -r productionwhere<production-app>is your heroku production app name.
Common Install Fixes
- If
bundle installborks onpg_configthen set thePg_config pathwithbundle config build.pg --with-pg-config=/Applications/Postgres.app/Contents/Versions/{YOUR VERSION}/bin/pg_config
Usage
You will get a new batch of new rake tasks under the wildland namespace. For a full list run rake -T.
Common Development Tasks
rake wildlandorrake wildland:setupThis will run all of the setup tasks to get your local enviroment ready to go.rake wildland:dbThis will resetup and seed the local database.rake wildland:cache_clearThis will clear the local app-ember package cache.
Code Quality Tasks
rake wildland:pre_prorrake wildland:pre_pull_requestThis will run all pre-pull request checks.rake wildland:pre_pull_request:fixme_notesPrint only FIXME notesrake wildland:pre_pull_request:htmlRun brakeman & rubocop with html formats and save them to /reportsrake wildland:pre_pull_request:js_debuggerFind js debugger statementsrake wildland:pre_pull_request:notesCreate a report on all notesrake wildland:pre_pull_request:rubocop_recentRun rubocop against all created/changed ruby filesrake wildland:pre_pull_request:rubocop_recent[autocorrect]This perform the deploy as above, but have rubocop attempt to autocorrect issues.
Heroku Tasks
Deploying
rake wildland:heroku:deploy_to_stagingThis will deploymastertostaging. This will automatically create a release candidate git tag.rake wildland:heroku:deploy_to_staging[verbose]This perform the deploy as above, but in verbose mode.rake wildland:heroku:deploy_to_staging[verbose,force]This perform the deploy as above, but this will--forcedeploymastertostaging.
rake wildland:heroku:deploy_current_branch_to_stagingThis will promote your current branch tostagingasmaster. This will NOT automatically create a release candidate git tag.rake wildland:heroku:deploy_current_branch_to_staging[verbose]This perform the deploy as above, but in verbose mode.rake wildland:heroku:deploy_current_branch_to_staging[verbose,force]This perform the deploy as above, but this will--forcedeploy your current branch tostaging.
rake wildland:heroku:promote_to_productionThis will promotestagingtoproduction. This will automatically create a production git tag.rake wildland:heroku:promote_to_production[verbose]This perform the deploy as above, but in verbose mode.
Utility
rake wildland:heroku:maintenance_mode_onThis turns on maintenance mode forstagingandproduction.rake wildland:heroku:maintenance_mode_offThis turns off maintenance mode forstagingandproduction.rake wildland:heroku:backup_production_databaseThis will create a backup of theproductiondatabase.rake wildland:heroku:backup_production_database[verbose]This perform the deploy as above, but in verbose mode.
rake wildland:heroku:import_latest_production_database_backupThis will import the latestproductiondatabase backup to your local database.rake wildland:heroku:import_latest_production_database_backup[verbose]This perform the deploy as above, but in verbose mode.
Code Of Conduct
Wildland Open Source Code Of Conduct