We use Jenkins to push + github for storage and branches. To keep it brief the general process is we code on master, cut a branch when we have features to go out. QA always builds from master, staging and production from the branch. If everything checks out on QA and staging, we push it to production.
We try release as often as possible, the bigger the change the bigger the risk so we typically do a prod push at least every second day.
OP: Furthermore, if using github, consider using hooks to build automatically after a commit. And have errors flash on your phone/email when something goes wrong during any step till deployment. Automate as much as possible.
Comments
We use Jenkins to push + github for storage and branches. To keep it brief the general process is we code on master, cut a branch when we have features to go out. QA always builds from master, staging and production from the branch. If everything checks out on QA and staging, we push it to production.
We try release as often as possible, the bigger the change the bigger the risk so we typically do a prod push at least every second day.
OP: Furthermore, if using github, consider using hooks to build automatically after a commit. And have errors flash on your phone/email when something goes wrong during any step till deployment. Automate as much as possible.