I'm a one man show, having developed and worked on a new custom CRM customized for our business needs over the past year and half. I've had the pleasure of consulting with a 25+ year experienced developer for help.
Due to budgetary constraints, I no longer have access to his help (for the time being) and have no experience with preparing for a live deployment. (nothing is live right now)
I am currently setting up a production server (excruciatingly) and have been able to get it up and running and am currently migrating data over, getting OPcache set up, etc..
One thing he mentioned to me was to have:
- Local Host (where I do my work)
- Development Server (where I deploy and test my changes)
- Production server (where I push the live changes too)
Question 1) Right now, I have the Dev Server and the production server. Based on your experience, is the 'Local Host -> Dev Server' process really necessary for a 1-Man show? Why not simply do my work and test my changes within the dev server? Please provide me with some examples of common practices.
Question 2) When it comes to deploying changes to the production server, what are some common ways based on your experience to do this?
Question 3) Going off of Question 2, what happens when I have an immediate problem I need to apply a 'hot fix' too?
Question 4) Finally, what are some common ways to keep track of versions based on your experience? I was considering using GitHub.