Independent Study Spring 2019/Errbit: Difference between revisions
		
		
		
		Jump to navigation
		Jump to search
		
No edit summary  | 
				No edit summary  | 
				||
| Line 20: | Line 20: | ||
'''Setup Errbit'''  | '''Setup Errbit'''  | ||
*Fork Errbit from https://github.com/errbit/errbit and follow the steps mentioned on [https://github.com/errbit/errbit/blob/master/README.md README.md]  | *Fork Errbit from https://github.com/errbit/errbit and follow the steps mentioned on [https://github.com/errbit/errbit/blob/master/README.md README.md]  | ||
*When we run   | *When we run "rake db:seed" it will create an admin user with a random password. We can see these login credential in the console log. But instead, we can provide this username and password explicitly by just making some changes in errbit/db/seed.rb file. Eg:  | ||
def admin_email  | |||
   return 'expertiza-support@lists.ncsu.edu' if heroku_pr_review_app?  | |||
  "expertiza-support@lists.ncsu.edu"  | |||
end  | |||
def admin_pass  | |||
  return 'errbit' if heroku_pr_review_app?  | |||
  @admin_pass ||= "errbit"  | |||
end  | |||
*Seed the DB (NOTE: No bootstrap task is used on Heroku!).  | |||
  heroku run rake db:seed  | |||
'''Deploy Errbit on Heroku'''  | '''Deploy Errbit on Heroku'''  | ||
| Line 28: | Line 44: | ||
Took the following steps in the /errbit repository on local machine:  | Took the following steps in the /errbit repository on local machine:  | ||
*Login to Heroku using Herkou CLI from console   | *Login to Heroku using Herkou CLI from your console  | ||
*Added remote   |    heroku login  | ||
*Added remote  | |||
   heroku git:remote -a  errbit-expertiza2019  | |||
*As errbit needs MongoDB database backend so need to install MongoDB addon in Heroku. We can use heroku command to create addon one.  | |||
    heroku addons:add mongolab:sandbox </br>  |     heroku addons:add mongolab:sandbox </br>  | ||
    heroku config:add HEROKU=true </br>  |     heroku config:add HEROKU=true </br>  | ||
Revision as of 06:16, 8 May 2019
Set up an open-source error monitoring tool instead of Airbrake
Useful links
Purpose
Errbit has been set-up, replacing the already existing Airbrake API to serve several purposes like :
- Errbit is a much more powerful monitoring tool
 - Errbit is Airbrake API compliant
 - Store unresolved errors indefinitely without any extra cost.
 
The Steps taken for the setup
There were several steps taken to set-up Errbit for Expertiza and schedule it to automatically pull changed from its forked branch and deploy:
Setup Heroku
- Made an account with Email: expertiza-support@lists.ncsu.edu and Password: expertiza2019@
 
Setup Errbit
- Fork Errbit from https://github.com/errbit/errbit and follow the steps mentioned on README.md
 - When we run "rake db:seed" it will create an admin user with a random password. We can see these login credential in the console log. But instead, we can provide this username and password explicitly by just making some changes in errbit/db/seed.rb file. Eg:
 
def admin_email
return 'expertiza-support@lists.ncsu.edu' if heroku_pr_review_app?
"expertiza-support@lists.ncsu.edu"
end
def admin_pass
return 'errbit' if heroku_pr_review_app?
@admin_pass ||= "errbit"
end
- Seed the DB (NOTE: No bootstrap task is used on Heroku!).
 
heroku run rake db:seed
Deploy Errbit on Heroku
- Created a new empty application on Heroku, named errbit-expertiza2019
 - The app will have an associated empty git repository https://git.heroku.com/errbit-expertiza2019.git
 
Took the following steps in the /errbit repository on local machine:
- Login to Heroku using Herkou CLI from your console
 
heroku login
- Added remote
 
heroku git:remote -a errbit-expertiza2019
- As errbit needs MongoDB database backend so need to install MongoDB addon in Heroku. We can use heroku command to create addon one.
 
heroku addons:add mongolab:sandbox
heroku config:add HEROKU=true
git add .
git commit -m “new creds”
git push heroku master
Configure Expertiza to point to our deployed Errbit application
- Create a new app on Errbit
 - Copy it's configuration and place it in the expertiza/config/initializers/airbrake.rb file.
 
Airbrake.configure do |config| config.host = 'https://errbit-expertiza2019.herokuapp.com' config.project_id = 1 # required, but any positive integer works config.project_key = '64ed97f0c8e628acefb3a7f63308a11c' # Uncomment for Rails apps config.environment = Rails.env config.ignore_environments = %w(test) end
   
Set up Cron job to regularly pull changes from Forked repository and deploy on Heroku.