deployer Определить какие ветки развернуты, кто сделал последний коммит и его хэш dep br, cur

Чтобы научить деплоер определять имя развернутой на сервере (каждом настроенном в деплоере) Git ветки и того, кто в неё последний раз коммитил, добавьте в ваш deploy.php (вашего проекта) два таких задания для деплоера:

task('br', function() {
    $output = run('cd {{release_path}} && git branch');
    if (preg_match('/^\*\s(?P<branch>.*)$/m', $output, $matches)) {
        writeln(get('server')['name'] . ': ' . $matches['branch']);
    }
})->desc('Show current branch name');

task('cur', function() {
    write(get('server')['name'] . ': ');
    $output = run('cd {{release_path}} && git branch');
    if (preg_match('/^\*\s(?P<branch>.*)$/m', $output, $matches)) {
        write('<info>'.$matches['branch'] . '</info> ');
    }
    writeln(run('cd {{release_path}} && git log --pretty=format:\'%H [%an] <fg=yellow>"%s"</fg=yellow>\' -n 1'));
})->desc('Shows current branch, hash, committer and message');

Тогда команда:

  • dep br

    -- просто выведет имена веток, развернутых на серверах

  • а команда:
    dep cur

    -- выведет ещё и гит-никнэймы тех, кто делал последние коммиты в эти ветки и хэши коммитов.

Спасибо за пример Н.Гр.