Django: файл статического изображения должен храниться в репозитории git при использовании AWS cloudfront и S3?

Я разработал свой проект Django с AWS cloudfront and S3.

Интересно, следует ли хранить файл статического изображения (не файл мультимедиа) в репозитории git.

Я думаю, что если я запускаю collectstatic --settings="production.settings, все статические файлы загружаются на мой S3.

Если это так, я думаю, что мне не нужно хранить все файлы статических изображений в репозитории git.

Я прав?


person user3595632    schedule 27.12.2016    source источник
comment
Я не могу понять вопрос. После развертывания ваши файлы .py теперь будут находиться на рабочем сервере. Означает ли это, что вы должны удалить их из репозитория?   -  person Antonis Christofides    schedule 27.12.2016
comment
@AntonisChristofides, о чем ты говоришь? Почему вы говорите .py файл? Я просто хочу знать о файле статического изображения   -  person user3595632    schedule 27.12.2016
comment
Если рассуждение, что они находятся в S3, поэтому они мне не нужны в моем репозитории, было правильным для статических файлов, то оно также было бы правильным для файлов .py. Статические файлы являются частью исходного кода вашей программы. Что, если завтра вы захотите развернуться в Digital Ocean?   -  person Antonis Christofides    schedule 27.12.2016


Ответы (1)


В целом да. Вы можете удалить их из репозитория, потому что вы загрузили статические файлы на S3

но...

Рассмотрим следующий сценарий. Случайно вы вызовете collectstatic с опцией очистки. Все статические файлы будут удалены из S3. Затем вам нужно снова загрузить статические файлы в репозиторий. Ты хочешь этого?

Также есть еще одна причина, по которой удобно хранить статические файлы. Если вы используете S3, вы можете сэкономить деньги и время, загружая в корзину только измененные файлы. Для этого вы можете использовать, например, collectfast. Если вы будете удалять файлы, то collectfast не сможет вычислить контрольные суммы md5 и, вероятно, вообще не будет работать.

person Alexander Tyapkov    schedule 27.12.2016
comment
Затем вам нужно снова загрузить статические файлы в репозиторий. Хотите? =› Но если я запускаю collectstatic даже на своем рабочем сервере, все статические изображения «автоматически» загружаются в S3. Я не могу это контролировать. - person user3595632; 27.12.2016
comment
@user3595632 user3595632 Думаю, я вас не правильно понял, но если вы удалите все файлы из git, а также с рабочего сервера, то после collectstatic ничего не будет загружено в s3. - person Alexander Tyapkov; 27.12.2016
comment
Перед развертыванием я могу запустить collectstatic на своем локальном компьютере, после чего все статические файлы загружаются в s3. - person user3595632; 27.12.2016
comment
Да, я думаю, что это возможно. Но все же у вас есть контроль. Если вы измените любой статический файл, вы можете загрузить его снова. Неважно, делаете ли вы это с машины для разработки или производства. - person Alexander Tyapkov; 27.12.2016