Support » Developing with WordPress » Setting up development environment on WordPress

  • dingo-d

    (@dingo_bastard)


    I’ve read this, this and even this, but none of them really help with sort of seamless integration of WordPress development process.

    What I mean is – imagine you are working on a big project with a team of people. Ofc you use versioning (say github), and have a repo posted where everyone is working on. You have master, development, staging and bunch of other branches, but the first three are your main concern.

    Say you’ve already deployed your product and now a new update comes out. First you’ll work locally, then push it to dev. After tests pass, this can be pushed to staging, where client will be able to test the site. If all of that passes, you can deploy this to a live server and safely update the site.

    Is it possible to have a script that runs either on Semaphore or Travis CI so that you have automatic deploying without much fuss (say staging to production)?

    The first link I added seems like a great way to have this separation, but the problem is deployment – especially on production – and especially the database.

    What is the best way of solving this issue? Writing your own scripts? Doing all this manually?

    So far I’ve only worked for small clients, so I’d just develop locally on my vagrant and then migrate it all by hand using a search and replace script.

    But I’d like to streamline this process.

Viewing 3 replies - 1 through 3 (of 3 total)
  • Kayless

    (@kayless)

    Hey,

    Have you looked into Pantheon? I think it does some of what you need with it’s built-in dev, testing and live environments…

    https://pantheon.io/features/wordpress-hosting-on-pantheon

    I used them a while back for a Drupal site and the whole process is pretty impressive 🙂

    dingo-d

    (@dingo_bastard)

    I’m looking at more general solution. I cannot dictate what hosting the client is going to have 😉

    Pushing new files to a client site would be problematic. If the client server doesn’t run PHP as the user who owns the WordPress installation directory, you would have no way to add files.

    If you could dictate that the PHP SAPI be a FastCGI handler (perferably PHP-FPM), then you could write a simple plugin that uses wp-cron to check your server for package updates. The plugin could use a POST request that contains info to identify the site, and your server would respond accordingly.

    It could even be written as a standalone script if you were able to install a CRON task on the client site.

Viewing 3 replies - 1 through 3 (of 3 total)
  • You must be logged in to reply to this topic.