Awesome
PHP-Git-Deploy
Using Post-Receive Hooks
to deploy muliple projects automatically.
Ref: https://developer.github.com/webhooks/
Requirements
PHP-Git-Deploy works with PHP 5.3 or later.
Installation via Composer
Create a composer.json file in your project root and use it to define simply your dependencies:
{
"require": {
"appleboy/php-git-deploy": "1.0.*"
}
}
Then install Composer in your project (or download the composer.phar directly):
$ curl -s http://getcomposer.org/installer | php
And finally ask Composer to install the dependencies:
$ php composer.phar install
Installation/Usage
Download files
Download and drag the following files into your application/
folder.
$ cp -r src/Web your_www/
Configure your profile
open src/Web/config.php
file with your editor. Following is config formats.
$config['github'] = array(
'project_name' => array(
'branch_name' => array('base_path' => 'folder_path')
)
);
project_name
must be the same with your github project name, for example:
Your github project URL is https://github.com/appleboy/PHP-Git-Deploy
The project_name
value is PHP-Git-Deploy
, don't case sensitive.
Please refer the following example profiles.
Single project, Multi branch profile
array(
'php-git-deploy' => array(
'master' => array('base_path' => '/path/PHP-Git-Deploy_1/'),
'develop' => array('base_path' => '/path/PHP-Git-Deploy_2/')
)
);
Multi project, Multi branch profile
array(
'php-git-deploy' => array(
'master' => array('base_path' => '/path/PHP-Git-Deploy_1/'),
'develop' => array('base_path' => '/path/PHP-Git-Deploy_2/')
),
'codeigniter-my-model' => array(
'master' => array('base_path' => '/path/CodeIgniter-MY-Model_1/'),
'develop' => array('base_path' => '/path/CodeIgniter-MY-Model_2/')
)
);
Create New index.php
Create new file your_www/Web/index.php
, copy the following source code and paste into index.php file.
<?php
require_once('Deplpoy.php');
$deploy = new \Web\Deploy;
$deploy->index();
Setting Webhook URL
Please refer the Post-Receive Hooks Helper page
Author
Bo-Yi Wu (appleboy) appleboy.tw@gmail.com