ls replaced with find to search for dirs only on remote host releases/

This commit is contained in:
extaz-site 2016-02-16 15:06:06 +03:00
parent c35a9e4488
commit c51f5a91cf

View File

@ -324,18 +324,19 @@ task('deploy:symlink', function () {
* Return list of releases on server. * Return list of releases on server.
*/ */
env('releases_list', function () { env('releases_list', function () {
$list = run('ls {{deploy_path}}/releases')->toArray(); // find will list only dirs in releases/
$list = run('find {{deploy_path}}/releases -maxdepth 1 -mindepth 1 -type d')->toArray();
// filter anything that does not look like a release // filter anything that does not look like a release
foreach ($list as $key => $item) { foreach ($list as $key => $item) {
// name does not match // name does not match
$item = basename($item); // strip path returned from find
if (!preg_match('/^[0-9]{14}$/', $item)) { if (!preg_match('/^[0-9]{14}$/', $item)) {
unset($list[$key]); unset($list[$key]);
continue;
} }
// not a directory
if (!is_dir(env('deploy_path') . '/releases/' . $item)) { $list[$key] = $item; // $item was changed
unset($list[$key]);
}
} }
rsort($list); rsort($list);