deployer

yii2 Пример задания для deployer (task) для деплоя с перезагрузкой php-fpm

Добавьте в ваш deploy.php переопределение стандартного задания деплоя, и определение задания с командой перезагрузки:

deployer Не переключается ветка, код при обновлении -- остаётся старое (php-fpm, нет изменений)

php-fpm Не поддерживает механизм символических ссылок (который активно использует деплоер), и как бы "кеширует" файлы, видя что путь (например var/www/mysite/current/web/index.php) не изменился (ведь именно в таком виде он попадает от сервера fpm-у),
также не изменился и ранее прочитанный и перенесенный в кеш байткода файл (в случае выгрузки новой ветки), а потому здесь потребует перезагрузка php-fpm в конце каждого процесса загрузки (например так).

deployer Использование локальных ключей для доступа к репозиторию с удалённого сервера (agent forwarding)

host('test')
....
    ->forwardAgent(false);

-- если не указать false (по-умолчанию опция включена), то начнётся подбор ключей с локальной машины.
Это удобно в некоторых случаях, а в некоторых может создать проблемы с подключением -- если у вас на машине есть ключ для пользователя, для которого доступ к целевому репозиторию закрыть.

Возможные тексты ошибок:

deployer stage -- что это за параметр

stage ("каскад/ярус") -- имя для группы серверов, позволяет удобнее работать с несколькими серверами.

Например:

host('es_test')
    ->hostname('81.81.81.81')
    ->user('username')
    ->port(2233)
    ->stage('test')

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

php Deployer Настройка в конкретном проекте. Как начать работать (на примере yii2-приложения)

Настройка деплоера в конкретном проекте

Перейдите в корень проекта и выполните в командной строке:

dep init

после чего нужно будет выбрать тип проекта, в результате в корне проекта будет создан файл deploy.php.

Как минимум, нам с вами придётся добавить в deploy.php определение хоста, например:

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

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

[!] Deployer по-русски. Справочник -- Как с ним работать. PHP загрузка проекта на сервер с возможностью отката изменений

Что такое Deployer

  • Deployer -- это крутой инструмент для загрузки вашего кода на боевой/тестовый и вообще любой удалённый сервер ;)
  • И на этой странице мы собираем разные примеры и приёмы работы с ним)

Установка

Выполняем три команды (копируйте их как одну) для установки последней версии:

sudo curl -LO https://deployer.org/deployer.phar && \
sudo mv deployer.phar /usr/local/bin/dep && \
sudo chmod +x /usr/local/bin/dep

Subscribe to RSS - deployer