Symfony 4 как правильно делать deploy на продакшн?

Ребята здравствуйте.

В документации Симфони говорится, что папку /public/build надо держать в .gitignore
https://symfony.com/doc/current/frontend/encore/fa...

Тогда при пуше на продакшн сервер, там не будет этой папки.
А делать build assets на сервере тоже не правильно.

Так какое правильно решение?

Благодарю.
  • Вопрос задан
  • 885 просмотров
Решения вопроса 1
voronkovich
@voronkovich
Сборку фронтенда лучше делать локально. Я, например, обычно для таких вещей использую Ansible.

Приведу пример, как это могло бы выглядеть в виде shell-сценария (можете просто копировать и выполнять команды в командной строке шаг за шагом и смотреть что происходит):

#!/bin/sh

# Создание временной директории
cd "$(mktemp --directory)";

# Клонирование репозитория во временную директорию
git clone https://github.com/symfony/demo .;

# Извлечение ветки для релиза
git checkout master;

# Установка зависимостей фронтенда
npm install

# Сборка фронтенда
node_modules/.bin/encore production

# Загрузка кода из временной директории на сервер при помощи rsync

# Остальные действия производятся уже на сервере
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы