deploy WordPress sites via Capistrano to staging and production
Ruby PHP
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
config
.gitignore
Capfile
README.md

README.md

wp-capify

wp-capify is a Capistrano setup tailor-made for WordPress. Capistrano is a developer tool for deploying web applications. It is typically installed on a workstation, and used to deploy code from your source code management (SCM) to one, or more servers.

This setup is inspired by theme.fm and supports multistage deployment to the environments staging and production from a development repository.

The modified wp-config.php only loads an existing wp-config-<environment>.php (gitignore'd), which means that no DB credentials are in the git repository. For local development, create a wp-config-local.php. For staging and production, just put the config in the shared directory (see below).

Setup

  • Development machine, with wp-capify and your WordPress files in public/
  • Staging server, e.g. staging.example.com
  • Production server, e.g. example.com

Development

.
|-- config
|-- public
|   |-- wp-config.php
|   |-- wp-config-local.php (.gitignore'd)
|   |-- wp-admin
|   |-- ...
|-- Capfile
|-- README.md

Staging/Production

.
|-- shared
|   |-- wp-config-staging.php     (only @staging)
|   |-- wp-config-production.php  (only @production)
|   |-- uploads
|   |   |-- blueprints.png
|-- releases
|-- current -> releases/<latest deploy>

TODO

  • update README: describe directories, symlinks (uploads, current)
  • update README with tagging feature
  • update README with install and bootstrap instructions
  • bootstrap:wordpress: downloads wordpress to public/
  • bootstrap:config: creates wp-config-<local|staging|production>.php