Maksclub
@Maksclub
maksfedorov.ru

Deployer для работающего php-проекта?

Дано:
- проект развернутый локально, ветки мержатся в dev-ветку и отправляются в репозиторий
- на удаленном сервере развернуто 2 проекта (prod и dev)
- делаю на dev-проекте git pull <remote_alias> dev и подтягиваю миграции руками + обновляю composer, накатиываю фикстуры
- prod-преокт пока что простаивает, но делал бы так - после теста dev-ветки мержил бы ее в master и master по аналогии пулил бы на prod-сервер

Готов к нормальному деплою + рынок труда дикутет.
Хочу поставить Deployer. Чтобы руками все это дело не собирать.

Вопросы вот какие:
  • Могу ли сверху на работающий проект накатить?
    Или нужно по-другому организацию проекта на сервере организовать? То есть сначала поставить Deployer и уже в нем настроить проект из репозитория... Есть ли мануалы по внедернию в работу? Или лучше с нуля все сделать?
  • Как быть с фикстурами?
    Я их не только для тестов использую. А даже посто при добавлении фичи (новых полей например), то делаю в фикстурах изменения и накатываю. Как быть? Есть что почитать по workflow относительно этого?
  • Вопрос задан
  • 1013 просмотров
Решения вопроса 2
zorca
@zorca
1. Лучше потренироваться на тестовом сервере, так как Deployer в отличие от гита запросто запишет: под рутом куда за хочет вообще, а под www-data в любой соседний проект при желании. Так что пользоваться нужно с опаской.
2. Deployer - просто инструмент, вы можете написать любые, абсолютно любые команды для выполнения на сервере, нужны просто определенные знания по командам Linux.
3. Код всех стандартных рецептов лежит тут же, их можно по желанию убирать из выполнения и включать свои сосбственные.
4. Лучше сразу поставить Deployer для выполнения из командной строки: dep deploy, для Windows это делается через обертку - BAT-файл.
5. Рецепты есть практически для любых задач, можно просто подсмотреть код и написать свою сосбвтенную реализацию.
ПыСы. По фикстурам, просто создаете таск с запуском команды на удаленном сервере и все дела.
Ответ написан
Sassoft
@Sassoft
Yii developer
Работал с деплоером в Yii2, сейчас использую ansible.
Делается одна команда и она уже забирает мастер, рестартует ngixn, php-fpm, если нужно делает yii migrate
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы