Hi there,
One area of my workflow — like many — that is weak, is how I go from local to production. At the moment it’s dangerously messy.
I build offline, then go straight to my production droplet, create the SQL database and import and create my git hooks which pull straight into the live directory. I am really interested in finding out about using another droplet as a staging server but have yet to find a tutorial for it on Digital Ocean.
Is this something anyone fancies writing up? Seems like a missing area in the tutorial area. I can’t get my head around how the workflow would go using a staging server that keeps things from getting cluttered if you’re dealing with multiple sites. Mapping sub domains to folders seems like over time it could get massively cluttered. Is there any other options out there?
Need some advice on this
This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!
These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.
Join our DigitalOcean community of over a million developers for free! Get help and share knowledge in Q&A, subscribe to topics of interest, and get courses and tools that will help you grow as a developer and scale your project or business.
Following this tutorial by Justin you can setup a production server that uses git hooks for deployment based on commits to the
master
branch.Repeating that process on another server (or the same one if you’re short on droplets) and changing the
post-receive
hook to watch for commits to thestaging
branch instead ofmaster
.Lastly I would add a remote such as:
Automating the push from
staging
tomaster
will depend greatly on your workflow, automated testing, code review and similar things specific to your repository / project.For small projects and applications I add my automated tests to the
post-receive
hook, if all tests pass it will tell me in the response ofgit push staging <branch>
so I can then merge to themaster
branch and push to production manually. Additionally, commits against thehotfix
branch on the staging server are automatically merged tomaster
and pushed to production if all of the tests pass, if for any reason tests don’t pass on the production server it will revert back.+1
This comment has been deleted