Automate and deploy applications with PHP. 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.
Install Pomander painlessly using Composer.
$ composer global require pomander/pomander:@stable
# Add $HOME/.composer/vendor/bin to $PATH
If you don't have Composer yet, get it.
Using the global
command isn't required, but I dig it.
Staging comes standard
One of the main reasons to build Pomander was to provide an easy way to manage Wordpress deployments across multiple environments.
$ pom staging deploy
* info environment staging
* info target staging-node-1.rackspace.com
* info deploy updating code
$ pom production db:backup staging db:merge
* info environment production
* info target cloud-db.rackspace.com
* info backup database teach_production
* info environment staging
* info target staging-node-1.rackspace.com
* info premerge replace teach.github.com with teach.staging-node1.rackspace.com
* info merge database teach_staging
Pomander allows you to run your tasks on any number of environments, and even pass data between them.
Ready? Getting Started.
Use PHP to manage your PHP
While there are some great deployment tools out there in other languages, integrating with an existing PHP application can become a pain.
deploy/production.php
<?php
$env->user('deploy')
->repository('git@github.com:tamagokun/mikey-kong.git')
->deploy_to('/var/www/html')
->releases(true)
->app(array(
'node-1.rackspace.com',
'node-2.rackspace.com'
))
->db(array(
'cloud-db.rackspace.com'
))
;
$env->database(array(
'name' => 'teach_production',
'user' => 'a4Vk0@_gH',
'password' => 'a21sVk^5g%fdAsDo)',
'host' => '127.0.0.1',
'charset' => 'utf8'
));
Pomander uses environment named PHP files to allow the greatest amount of flexibility and customizations to your deployment process and automated tasks.
Check out Settings and Tasks to see how much you can do with Pomander.