I have been looking into bedrock and possible sage, but at the very least bedrock, for some time. I run a development team of 8, and our current setup is as follows:
development is completed on an ec2 server (dev server) as a subdomain
site is moved to another ec2 to go "live"
changes are made on live server
all done via stp
I built our core theme and plugins, but would like to use bedrock and add the things we use to it.
here is where I am stuck, as I have not used version control in some time, and the server administrator is not sure how to set all this up either.
what would be the best setup? build locally, push to staging server, then to live server? what do I need to know about git to make this happen? I have been looking at gulp and bower and composer, but its alot to take in, much different than our current workflow. I want to make my teams workflow better, quicker, more up to date. the way we build is outdated and archaic. we build and host hundreds of sites for clients.
I would really appreciate any guidance or help, pointing me in the right direction. thanks for your time!
Start with learning and use source control properly because that’s the single most important thing you can do. In my opinion software development begins with source control.
It’s also way too big a topic to really get into here. There are much better resources. But really simply:
Everyone develops locally
All work is committed to a Git repository
Git repository to used to “deploy” changes to various servers (this just means pulling in changes on remote servers where you’ve cloned the repo)
@dhaynes1206 Consider having one of the main roots devs visit your team for a few days. With your client volume and a full team to coordinate, it may be particularly important to not lose time (and maybe team members) to trial and error while developing your workflow.
If the tools are unfamiliar, there’s a learning curve, but they’re pretty ideal for a team and business like you’ve described. They’d put you way ahead of the majority those working with WP.
thanks for all of the help and insight, I am fully immersing myself in everything git right now. I appreciate the insight and pointers, any and all is appreciated!
cloned bedrock down to a local project folder (using WAMP)
created a bare repo on a staging server
added remote to local repo for staging
initial commit and push
added post-receive hook, so when pushed to staging, it updates live directory
everything worked, changes were moved etc. the question I have is this - if I have a base bedrock package like this and the gitignore file says not to put the core (/wp), how would you go about getting those files there? My thinking is this - a developer clones bedrock down and builds the theme/functionality locally. they then push to staging, which should update remote. is there already a production site configured with bedrock and git just updates the /app folders?