pave - Command line tools for Concrete5 websites

Authors: Jamon Holmgren (@jamonholmgren), Ryan Linton (@ryanlntn), and the rest at ClearSight Studio (@clrsightstudio).

Provides a set of command line tools for setting up and developing Concrete5 websites.

Requirements: Designed for Ruby 2.0+ running on OS X Mavericks.

Installation

$ gem install pave

Usage

Create a new Concrete5 website

$ pave new mywebsite

This:

  1. Downloads Concrete 5.6.2.1 (once) into ~/.pave
  2. Unzips it into mywebsite
  3. Removes extra folders and sets up folder permissions
  4. Adds a .gitignore and .keeps
  5. Attempts to create a virtual host mywebsite.site

Deployments

$ pave deploy:setup

This sets up a Git-based deployment script to the remote server and deploys an initial version. SSH access is required.

$ pave deploy

Deploys the site using git. Files and databases are not deployed (see below for how to do that).

Database

$ pave db:create mydatabase

Creates a local MySQL database called mydatabase

$ pave db:push

Copies the local Concrete5 database to the remote database. Useful for deploying to staging sites.

$ pave db:pull

Copies the remote Concrete5 database into the local database. Useful for obtaining production data for testing.

$ pave db:dump

Creates a database dump file and places it in .db/YYYY-MM-DD_HH-MM-SS-<databasename>.sql.gz.

Files

$ pave files:push

WARNING: be careful with this command! Pushes your local files/* to the remote server, completely replacing the remote server's version.

$ pave files:pull

Pulls the remote files/* folder and replaces your local version.

$ pave files:sync

TODO: Pulls newer remote files and pushes newer local files. Ignores cache and tmp files.

Virtual host setup

$ pave vh:create myhost.site

Sets up an Apache virtual host in the current directory on myhost.site.

$ pave vh:remove myhost.site

Removes myhost.site virtual host.

$ pave vh:backup

Backs up your hosts file and vhost file.

$ pave vh:restore

Restores your previously backed up virtual host file.

$ pave vh:restart

Restarts Apache.

Help

$ pave help

Outputs common tasks that pave can do.

Updating

$ pave update

Contributing

  1. Create an issue explaining what you'd like to do and get feedback
  2. Fork it
  3. Create your feature branch (git checkout -b my-new-feature)
  4. Commit your changes (git commit -am 'Add some feature')
  5. Push to the branch (git push origin my-new-feature)
  6. Create new Pull Request

Copyright (c) 2013 Jamon Holmgren

Released under the MIT license.