Moving to version control, using bedrock and sage

Hi Everyone,

Let me preface this with some backstory.

I work for a digital agency that, you guessed it, has a development department. Thats actually how the company started, we now offer much more than that, but thats my focus, I head up the dev team. I have been trying desperately to move my team over to a version control system for the past two years, and finally its upon us. We have slowly started versioning projects in GitLab, we had originally used BitBucket, and I have some questions for the pro’s. I am going to run down what the workflow is in my head, and I would love some feedback that says “this is great” or “this is terrible” but really what I am looking for is some direction from people that do this on the daily and have found a very successful path to follow.

  1. new project repo created in gitlab (most likely done via a script on the server)
  2. staging destination created
  3. deploybot configured for staging (its currently what we have been using for deploying to staging and production, via develop and master branches)
  4. empty db is created
  5. dev creates new site locally (using vagrant and virtualbox here, local db is created to match the project as well)
  6. dev clones down bedrock, runs composer file (installs everything + sage)
  7. dev creates new branch to build on, will merge into dev and push once ready to see on staging site for PM to qa etc
  8. data - something like wp migrate db to sync data - this is really where it starts to get cloudy. if its a new site, working locally and pushing to staging via that plugin kind of makes sense?? really need insight in this area
  9. only thing tracked is the theme itself (plugins ie post types etc are part of the theme)
  10. composer is used to run updates on plugins and core
  11. once all is complete, merge dev back into master and deploy to production

I really want to lock down how we do this, so we can start pushing ahead with it. right now its kind of all over the place, with using git and gitlab and deploybot being the real constants. I would greatly appreciate any insight into the subject or direction, pointers, examples, what works for you etc.

Thanks again!

Let me add that we have about 11 dev’s and we have about 300 clients, quite a few sites, and we work on other platforms outside of WP (built in house with PHP)

With so many devs and a good client base why not support the project? Hire someone from the roots team to get it all set up and provide training to you and your team.

1 Like

Agree that hiring Roots is a great idea for such a large change in workflow at a good size firm. Your coworkers will have questions, and best to have someone who can answer from experience.

I did the same thing with trying to wrap my head around it first. Most of these things get answered right away once you try it all though, you’ll find what works for you and your team.

1 Like