- Install Devise
- Install ActiveAdmin
- Install JSON responses
- Link to Rails 4 Bootstrap Gist
- figaro: secure env variables, gem | repo
- devise: auth system, gem | repo
- active_admin: quick admin dashboard, gem | repo | site
- gemnasium: site | dashboard
- code climate: site
- travis-ci: site | profile
- Conduct a Search & Replace for all instances of "AppName" and "appname" and replace with your own application name.
- Change the database names in the
config/database.yml
file - Change the app name in the
config/initializers/session_store.rb
file (if necessary) - Rename the custom rake task for dev rebuild in
lib/tasks/app.rake
- Edit the initial database migration file as appropriate at
db/migrate
- Install figaro gem with
rails generate figaro:install
- Run
rake secret
and add secret key toconfig/application.yml
file forAPP_SECRET_KEY_BASE
- Add deployment setting to
config/application.yml
file forRUN_MIGRATIONS: true
- Edit
.gitignore
as appropriate to hide secure variables - Change the
.travis.yml
file for the db name - Change the repo (staging/production) references in the
lib/tasks/deploy.rake
file - Change the relevant account/repo settings in the
lib/tasks/deploy.rake
file
- Copy env file:
cp config/environments/production.rb config/environments/staging.rb
- Set up git config:
git config heroku.remote staging
- Set up env vars on Heroku:
heroku config:set RACK_ENV=staging RAILS_ENV=staging
- Push environment vars to heroku:
rake figaro:heroku[app_name]
- deploy to staging:
rake deploy:staging
- deploy to production:
rake deploy:production
- teardown/rebuild dev:
rake app:rebuild
- lint Travis setup:
travis-lint
- scan gems for security:
hakiri gemfile:scan
- scan code for quality:
rubocop
- scan code for security:
brakeman
Create and place in the config/application.yml
file
APP_SECRET_KEY_BASE: xxx
RUN_MIGRATIONS: true
DEPLOY_WITHOUT_SPECS: false