Skip to content
Deploy your PHP with PHP. Inspired by Capistrano and Vlad.
Find file
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


A light-weight flexible deployment tool for deploying web applications. This project was inspired by Capistrano and Vlad the Deployer, as well as being built on top of Phake, a Rake clone.

This project came out of the need for a way to deploy Wordpress sites to multiple environments easily and without firing up FTP clients, etc. What started as a simple Rakefile, quickly grew into much more, and has been finally abstracted and ported to PHP to be able to fully integrate tasks with your application.



    "require": {
        "pomander/pomander": "dev-master"
$ composer install


Set up your project for use with Pomander

$ cd myproject
$ pomify

This will give you Pomfile where you can configure plugins, and it will also create a default deployment configuration.

Use pom -T to see your available tasks.

Configure environments

Pomander uses YAML files to configure environments. pom config will create a development.yml file to get you going if you don't already have one. You can create as many environments as you want.

Configuration reference:

url:                    # Application URL. Used primarily for database migration and may not be needed.
user:                   # User for performing remote tasks.
repository:             # Repository for application.
revision:               # Desired revision/branch to be deployed.
scm:                    # SCM to use. Currently supports svn and git. Default: git
deploy_to:              # Path to deploy to.
backup:                 # Perform database backups on deployments. (true|false). Default: false
app:                    # List of application end-points for running deployment tasks.
db:                     # List of database end-points for running database tasks.


pom deploy:setup # Just run this the first time

# All subsequent deployments use pom deploy (deploy defaults to deploy:update)
pom deploy


deploy:setup      # Creates deploy_to folder, and checks out code.
delpoy:update     # Updates code to current revision/branch.
deployed          #  Tells you what revision/branch is currently deployed.
config            # Attempts to create a default `development.yml` file.

Custom Tasks

Feel free to modify these existing tasks, as well as create your own!


$pom = new \Pomander\Builder();
/* plugins
 * $pom->load('pomander/wordpress'); */

task('my custom task',function($app) {
  info("my task","Hello, World!");

after('deploy:update', function($app) {
  warn("pomander","You can use after() / before() to customize tasks");


Something went wrong with that request. Please try again.