We're using Apache and Python, but that does not really matter. Essentially, there exists a Production version in our software that's running with clients based on it being stable.
Meanwhile, we're coding in the never version.
Does anybody possess a simple release plan they'd choose to share?
I have done the next on past projects, but I am available to enhancements.
- Use two servers. You have the development release onto it running version N. Another is really a staging server holding the following release candidate version N+1.
- Once the code is prepared, and time involves release N+1, we shut both Apache systems lower, copy the DB from Production towards the Staging server, and migrate any DB structure.
- Then, launch the N+1 Apache system, quick sanity check increase the DNS to suggest it into it.
- That old production sits around like a support just in case there is a critical trouble with the discharge.
- Sooner or later we make use of the new non-production server to create in to the next version N+1 staging server, switch failing in to the future.
Really, we'll most likely use HAProxy rather than making DNS changes. But, we want to not need to add another server, so HAProxy will need to continue the servers themselves. This is simplistic, I understand. I did not wish to muddle the publish lower with particulars.
Any advice or ideas could be great.