Capistrano configs/integration for Bedrock
Switch branches/tags
Nothing to show
Clone or download
swalkinshaw Merge pull request #7 from jwhayman/changes
Removing Capistrano version requirement and integrating WPCLI tasks
Latest commit 5c11db2 Jan 31, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
config Initial move Apr 11, 2015
CHANGELOG.md Initial move Apr 11, 2015
CONTRIBUTING.md Initial move Apr 11, 2015
Capfile Added Capistrano WPCLI Tasks Dec 4, 2017
Gemfile Added Capistrano WPCLI Tasks Dec 4, 2017
Gemfile.lock Initial move Apr 11, 2015
LICENSE.md Initial move Apr 11, 2015
README.md Add project status note to README Jul 18, 2015

README.md

bedrock-capistrano

These are the Capistrano configs for deploying Bedrock projects.

Capistrano is a remote server automation and deployment tool. It will let you deploy or rollback your application in one command:

Screencast (💰): Deploying WordPress with Capistrano

Status: This project is stable, feature complete, and production ready. This means that we won't be adding new features. Only fixing existing bugs and ensuring that base functionality works.

Requirements

  • Ruby >= 1.9

Required Gems:

  • capistrano (> 3.1.0)
  • capistrano-composer

These can be installed manually with gem install <gem name> but it's highly suggested you use Bundler to manage them. Bundler is basically the Ruby equivalent to PHP's Composer. Just as Composer manages your PHP packages/dependencies, Bundler manages your Ruby gems/dependencies. Bundler itself is a Gem and can be installed via gem install bundler (sudo may be required).

The Gemfile in the root of this repo specifies the required Gems (just like composer.json). Once you have Bundler installed, run bundle install to install the Gems in the Gemfile. When using Bundler, you'll need to prefix the cap command with bundle exec as seen below (this ensures you're not using system Gems which can cause conflicts).

See http://capistranorb.com/documentation/getting-started/authentication-and-authorisation/ for the best way to set up SSH key authentication to your servers for password-less (and secure) deploys.

Installation/configuration

  1. Copy the following files into the root of your Bedrock project:
  • Capfile
  • Gemfile
  • Gemfile.lock
  1. Copy the following files/folders into your config directory:
  • config/deploy/*
  • config/deploy.rb
  1. Edit your config/deploy/ stage/environment configs to set the roles/servers and connection options.
  2. Before your first deploy, run bundle exec cap <stage> deploy:check to create the necessary folders/symlinks.
  3. Add your .env file to shared/ in your deploy_to path on the remote server for all the stages you use (ex: /srv/www/example.com/shared/.env)
  4. Run the normal deploy command: bundle exec cap <stage> deploy
  5. Enjoy one-command deploys!

Usage

  • Deploy: cap production deploy
  • Rollback: cap production deploy:rollback

Composer support is built-in so when you run a deploy, composer install is automatically run. Capistrano has a great deploy flow that you can hook into and extend it.

Contributing

Contributions are welcome from everyone. We have contributing guidelines to help you get started.

Support

Use the Roots Discourse forum to ask questions and get support.