Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 23.09.2019 12:56:35

Заливать проект laravel на хостинг через git

Собственно, проект на laravel содержит кучу gitignore файлов.
Поэтому когда на хостинге делаем pull проекта из репозитория, приезжает далеко не все необходимое для работы сайта.
Среди gitignore есть как полезные файлы, так и всякие файлы кэша.
Как правильно настроить обмен через git?
Может просто удалить все gitignore, оставить только в корне, который исключает .env файл?
Или это будет неправильным?

Не в сети

#2 23.09.2019 13:29:25

Re: Заливать проект laravel на хостинг через git

В общем посмотрел, что не едет по-умолчанию.
public, storage - с этим все понятно, тут у нас картинки и прочее.
vendor - исключен в корневом gitignore полностью.
Ну тут видимо объяснение в том, что эти файлы от вендора, типа не изменяемы (обычно).

Как тогда правильно поступать?
- Клонировать репозиторий на хостинге
- подлить руками vendor, public, storage
- помнить всегда про их изменение и подливать вручную если эти изменения есть?

Не в сети

#3 23.09.2019 14:43:18

Re: Заливать проект laravel на хостинг через git

Перефразирую вопрос.
Зачем vendor по-умолчанию в gitignore
И чем грозит, если убрать его оттуда

Не в сети

#4 23.09.2019 17:58:08

Re: Заливать проект laravel на хостинг через git

Ты вообще знаешь для чего папка vendor?
У тебя в репе должны быть файлы composer.json и composer.lock. Они однозначно указывают какие пакеты должны быть установлены по команде composer install. А значит просто незачем добавлять в репу стопицот миллионов чужих файлов. Твоя репа для твоих файлов only. smile

Не в сети

#5 24.09.2019 08:20:40

Re: Заливать проект laravel на хостинг через git

Спасибо, дружище!
Теперь понимаю, насколько глупый вопрос, мне можно я только учусь. big_smile
Конечно, этож так очевидно... поставил на хостинге composer, установил пакеты, все взлетело.

Не в сети

#6 24.09.2019 08:37:06

Re: Заливать проект laravel на хостинг через git

Именно так: поставил на хостинге композер и т.п. и запускаешь его. Всё как на локальном.

Просто скопировать файлы по sftp может быть недостаточно, т.к. старые файлы кеша могут мешать, где-то могут прописаться реальные полные пути, а они на локалке и удаленном сервере скорее всего разные.

Для развертывания можно на удаленном сервере написать bash файл с такими командами:

#!/bin/bash
git pull -f
composer install
php artisan cache clear
php artisan migrate --seed

Автоматическое развертывание можно настроить если этот командник будет вызываться по хуку из репозитария. На GitHub и Bitbucket это делается запросто.

Изменено artoodetoo (24.09.2019 08:37:50)


There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.

Не в сети

Подвал раздела