Лучший способ сделать CDN-управление - PullRequest
4 голосов
/ 22 февраля 2011

В настоящее время у нас есть сервер разработки (dev) и рабочий сервер, и мы скоро начнем использовать CDN для наших статических ресурсов.В результате мы хотели бы внедрить наиболее эффективную систему управления версиями, которая будет отвечать следующим требованиям:

  1. dev и prod будут использовать идентичные настройки
  2. . Изменения файла отражаются, как толькокогда мы фиксируем / разворачиваем файлы
  3. , в идеале только затронутые файлы получают новую версию

Имейте в виду, что коммиты dev из нашего SVN очень часты, и мы ищемавтоматизированная система, которая позаботится о создании версий без репликации целых каталогов и т. д.

Буду рад предложениям о наиболее эффективном способе реализации вышеперечисленного, поскольку мы новички в использовании CDN.

1 Ответ

0 голосов
/ 05 октября 2012

Некоторые фреймворки, такие как Grails, имеют плагины, которые могут позаботиться о статическом версионировании ресурсов, позаботиться о правильном связывании файлов с именованными версиями в том месте, где вы используете файл, и только озвучить версию файлов, которые изменились.

Если вы находитесь в такой среде, то эти плагины фантастические и обычно работают очень хорошо, но если нет, то в общем случае вы можете собрать серию сценариев, которые запускаютсяскрипт SVN-хука до фиксации.Сценарии должны были бы заботиться о штамповке версий файлов, которые изменились.В зависимости от того, какие фреймворки (ы) вы используете, отражение имени файлов ресурсов в коде будет более проблематичным, но вы можете написать плагин, который сможет это выяснить на лету, основываясь на не версионном имени файласопоставление с образцом или просто обновление ссылки непосредственно в коде (что-то вроде sed или awk теоретически может сделать это, хотя, вероятно, потребуется несколько впечатляющих навыков написания сценариев)

Итак, лучшее решениебыло бы найти плагин для вашей платформы, который может обрабатывать его прозрачно для вас.Следующим лучшим вариантом будет серия сценариев ловушек перед фиксацией, которые изменяют версии измененных файлов, а затем ищут / заменяют вашу кодовую базу для мест, где необходимо обновить эти имена файлов, и внесите изменения.

...