I use Roots for some time (since version 5’ish), recently I started to develop with AMPPS grunts and node.js (amazing I must say).
Now I want to move to a vagrant like development, but to be honest I’m having a lot of confusion with that.
Note: I do not want specifically to use bedrock (although I can try it if its really the best way), my goal is to setup a Local Development with Live Reloading.
I need some insight/help on how to improve/modernize my workflow environment.
To be honest I feel outdated when I read about bedrock and other advanced dev workflows.
- My focus is on theme development, my goal is to create a full site for my clients and deploy it. This is why I’ve not yet tried bedrock as I think it might be too much. Does this make sense?
- I use shared linux hosting, no SSH access (I do use git but it needs a workaround…).
- I only use Windows for development, this will not change in the foreseeable future.
- Grunt and Node are very new to me (started using them weeks ago only).
Thank you for your help!
I can’t speak about Vagrant because I haven’t ventured into that territory just yet, but I can say that you won’t get very far if your web host forbids SSH access.
There are plenty of shared hosts that do offer SSH access which you might consider when your current plan approaches its renewal date. There are also a few threads and articles that discuss deploying your WordPress installation using Capistrano.
Ultimately if you want to get comfortable with any of these workflows then your best bet is to try one. The Bedrock documentation is very straightforward—if I can do it anyone can. After you execute a successful deploy then you can tweak your setup and workflow to suit your needs.
@cfx thank you for your reply.
So in your opinion Bedrock is a good workflow. Does it work without SSH access (on the production server)? I did a quick read on the docs and couldn’t find this info.
by the way, I’m not asking for help on how to do things (maybe i’ll ask later ;p ) I just want to know what is being used and what should I invest my time on.
On the SSH note:
Being true that SSH access is important, in Portugal it is not very common in shared hosting, in fact it is either bad quality hosts who can’t ensure proper SSH security and forbid it or a good host who is really expensive. HostGator (just an example) is cheap and allows, but its international and my clients are almost only Portugal based, the host location is more important than SSH.
In my opinion, Bedrock is a good workflow for me and seems to be a good place to start if you want to add twelve factor app methodology to your WordPress builds. But in the end, only you can decide what’s best for you. However, I can tell you that reading about it is one thing. For me, diving in and trying it works best.
What I meant about SSH is that if you read through the Bedrock readme you will not make it far without SSH because Capistrano relies on SSH.
You will need to decide whether moving hosts is worth it for what you want to accomplish. You might want to look at Digital Ocean or another cloud hosting provider with EU servers.
I will throw out that there are other options than Capistrano as well, and the nice thing when reading the Bedrock readme is that almost everything is optional. The main reason to use it though is the Composer installation of Wordpress, so if you don’t want to do that, then you might as well not use it.
I signed up with Laravel Forge and IMO it’s pretty awesome. Give it your project in a git repository, it will provision a server for you, set up your project, and voila, your site is ready to go. I added in to the deploy process running grunt build. And you can also set it to watch your repository so every time you push to say master branch, it will deploy for you. Or you could have it set up to deploy after a successful TravisCI test run.
Basically, Bedrock + Forge is pretty spiffy. I think it’s actually just as easy or easier than using Capistrano, as I don’t have to do anything other than commit to my repository. Easily worth the $10 / month to me.
Yeah, you definitely don’t need SSH to use Bedrock. You just need SSH to use Capistrano, and the Bedrock readme shows how to remove Capistrano (the major components of Bedrock are all delete-key-friendly).
Someone recently suggested using dg/ftp-deployment as a substitute for Capistrano. I have no experience with using that package, but apparently it works with FTP, so maybe you can look into it as an alternative to Capistrano.
But getting back to the original question, I develop on Windows exclusively as well. I would recommend getting into Vagrant.
A good starting point for a newbie would probably be PuPHPet. PuPHPet will walk you through its GUI and at the end spit out a zip file with everything you need to set up a new box (assuming you already have Virtualbox and Vagrant installed). For the most part, you can leave everything as default in the GUI.
You should also get familiar with WP-CLI. With
wp, you’ll be able to add dummy data to quickly populate pages of posts. You can easily do a search-replace on the database (although this is more useful if you have SSH and can do it server-side).