I’m new to the Roots world, and I’m trying to deploy a site with Bedrock and Sage. Trellis was too scary for me, as there where so many concept I have no idea about. So I started to do it with Capistrano.
After some hard work, now with bundle exec cap staging deploy
composer runs in both the root directory and in my Sage theme directory.
I try to use capistrano-yarn.
Yarn runs also succesfully in production mode. I wanted to build my scripts with yarn build:production
, but thats not working, because webpack is only dev-dependency. Should I change that?
If I try to run yarn not in production, I also get an error in my server: make: g++: Command not found
.
What’s the recommended way to solve it?
Not really an answer but may I suggest you try deploying with Deployer instead? I used to deploy using Bedrock Capistrano and while it did work (and I am grateful for its existance), keeping track of node versions across projects and keeping separate versions of Capistrano for different projects across the team was, to my PHP-centered brain, a pita.
Deployer is managed using composer and the tasks are written in a PHP-file.
If you are interested, I can share my Deploy.php-file with the tasks used to deploy a Bedrock/Sage9-setup.
Thanks for the suggestion. Yes, im intrested in your deploy.php!
I have removed tasks for creating a DB-backup, restarting PHP FPM since they were specific to the server provider that I am using. But I want to mention it here since it may be a good idea to add them yourself.
My deploy.yml holds nothing special except for the name of the database to backup on deploy.
Edit: changed Gist-URL
Thanks @folbert, it’s much simpler to work with deployer for me, as with capistrano. I succesfully deployed my site with it!
I also found a helpful package to sync db and media files: https://github.com/sourcebroker/deployer-extended-wordpress-composer