This is a summary from development to production based on my 7+ years working experience using Ruby on Rails
If you have any suggestion, please create a issue or pullrequest to help me to improve this summary
Use Ruby on Rails as main web framework
- Checkout a new local branch for a JIRA/Other issue: feature/[JIRA PROJECT KEY]-[JIRA ISSUE NUMBER]-add-product, fix/[JIRA PROJECT KEY]-[JIRA ISSUE NUMBER]-fix-product-duplication
- Push local branch to Github and create a pullrequest
- Pass regrestion test then deploy to staging and do the manual test
- Invite code review
- Merge to master then deploy to staging and test manually again
- Finally deploy to production
Note:
- Rebase to master branch when needed
- Use Lefthook to unify git hooks for a project
- RSpec for unit and integration test
- Rails testing
- Use Rubocop to unify the common rule accrossing a project
- Get updates from GoRails
- Use less gems as possible. Check recommended gems
- Be consistent with a Ruby style
- Heroku for easy to deploy but more expensive
- EngineYard
- VPS like Linode, Digital Ocean
- Error Tracking: HoneyBadger
- Performance Monitoring: NewRelic
- Logging: AWS CloudWatch
- https://thoughtbot.com/playbook
- My 3-year working experience at Lixibox