Работаем-с. Конфиг планируется типа такого
array(
'repository' => 'mercurial', // потом будет svn/git
'locksDir' => 'var/deploy', // папка, в которой будет храниться информация о текущих ревизиях, расположенных на удаленных серверах
'tasks' => array(
'dev' => array( // название задания. Понятно, что таких заданий можно сделать хоть 10 (если развертывать нужно на несколько машин)
'connection' => 'ftp', // потом будет sftp/scp
'options' => array(
'host' => 'site:com',
#'port' => '21',
#'timeout' => 30,
'user' => 'me',
'pass' => '*****',
'dir' => 'subdomains/dev/site', // папка, в которую заливать (относительно той, в которую входим при подключении)
)
)
)
);
Спустя 210 сек.
а, да, работает это все через:
class BL_Filesystem_Adapter_Ftp extends BL_Filesystem_AdapterAbstract
а в абстрактном
abstract public function read($path);
abstract public function write($path, $data, $perms = 0666, $owerwrite = BL_Filesystem::OWERWRITE_ALL);
abstract public function remove($path);
// …