• My Question: Things are about to get a bit crafty… I am beginning to outsource a lot of WordPress Development work for WP Design clients on websites like UpWork and Codeable.io – I have a basicGit(Hub) WorkFlow set up for WordPress deployment, but I’m sure it could be MUCH, MUCH better. Then again, I may be asking for too much, as I tend to do as often as I break forum rules (-:

    Can someone please explain, and/or create a diagram that shows to some extent how I could set up a workflow with the following features and integrations:

    Specifications:

    • Three Environments: Local WP Installation, Development Server (DigitalOcean), Production Server (DigitalOcean)
    • Private GitHub Version Control Repo for Each Application
    • I want the master to be protected so it can’t be updated unless I approve a pull request from another developer’s branch.
    • I need a .gitignore file that excludes everything but the BARE MINIMUM for the website changes to be transferred. I’ve heard mix thoughts on including Plugins in this, if you have any input on this, please share
    • I want to have a way to auto-deploy merges into the master (from a developer’s branch) to the WP Development Installation with a webhook into GitHub. I know DeployHQ has a Webhook feature that does this but if you have another suggestion, let me know. – This is most useful for one-click merges to the development server
    • ServerPilot.io (If there is a better option, I am more than happy to part with ServerPilot) is used to manage individual apps for each of my clients so I can log Bandwith, disk usage, etc for each “app.”
    • The Local Environment has its own individual Database (MySQL in a LAMP stack) that communicates with a Remote Development Database via WP Migrate DB Pro.
    • Each website/app is individually backed up every 12hrs (24hrs is fine if it’s the minimum on a suggested service) so it can be easily restored – I’m currently using ManageWP orion to do this but It’s not extremely straightforward and has too many other features I don’t have use for but would still be paying for.
    • I’d like to have a scripted one-click (well, as few clicks as possible with minimal to no command line, if possible, so I can onboard employees more easily) setup for the development remote server that installs a LAMP environment and a custom WordPress install that has a few custom plugins and customizations. It will be hosted in a GitHub repo, so I assume the easiest way would be to clone it.
    • And, perhaps the most “fun” aspect of this is one-click and instantaneous deployment to the Live server that takes less than 10 seconds. I was thinking maybe via DNS and just switching the live with the production server but DNS takes up to 24 hours to propagate.

    I know it’s a challenging setup and I’m extremely thankful for anyone who takes the time to read and provide their input. Thanks so much!

  • The topic ‘WordPress Development Workflow’ is closed to new replies.