Django-компрессор, git и продакшн

Я использую amazon s3 для хранения статических файлов и django-compressor для сжатия файлов js и css с помощью COMPRESS_OFFLINE = True.

Для развертывания на моем рабочем сервере я сначала запускаю python manage.py compress, который загружает сжатые файлы в Amazon s3, а затем выполняет git push в мое хранилище. На рабочем сервере я извлекаю данные из этого репозитория и всегда сталкиваюсь с проблемой синхронизации между сгенерированными файлами css и js.

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

Как я могу это исправить?

Спасибо


person Hellnar    schedule 15.11.2012    source источник
comment
Вы отслеживаете сжатые файлы в git?   -  person jdi    schedule 21.11.2012
comment
@jdi Я отслеживаю несжатые на git. Сжатые файлы загружаются в мою корзину Amazon S3. Сервер и локальные машины проверяют время изменения, сопоставляя, был ли какой-либо файл изменен с момента последнего сжатия, и именно здесь я терплю неудачу.   -  person Hellnar    schedule 21.11.2012
comment
Не могли бы вы немного расширить? Вы сжимаете и загружаете файлы js и css в корзину S3. Затем вы фиксируете и отправляете несжатые файлы; эти файлы изменены manage.py compress (ссылки js и css обновляются в шаблонах *.html для ссылки на серверы amazon) или вы отправляете исходные файлы? Другой вопрос: вы сжимаете и отправляете одни и те же файлы на рабочий сервер? Какой результат вы ожидаете? К сожалению, пока не ясно.   -  person vadishev    schedule 25.11.2012
comment
Я думаю, что этот вопрос может быть связан с: stackoverflow.com/questions/1964470/ Вы можете посмотреть второй ответ (не принятый). Может помочь.   -  person GregHNZ    schedule 27.11.2012
comment
Ваша последняя фиксация до или после сжатия и загрузки на S3? Я предполагаю, что вы фиксируете, запускаете сжатие, и в этот момент файлы модифицируются django-compressor. Попробуйте выполнить сжатие перед окончательным коммитом/слиянием.   -  person Enrico    schedule 28.11.2012


Ответы (1)


Проверьте, нет ли на вашем репозитории Git сервера (на который вы тянете)

  • любой .gitattributes драйвер фильтра содержимого (который будет автоматически изменять содержимое эти файлы),
  • любые локальные или глобальные настройки, такие как core.autocrlf, которые изменят стиль eol (конец строки).
person VonC    schedule 21.11.2012