У меня есть 2 среды... локальная среда разработки, на которой работает MAMP, и сервер LAMP, совместно используемый моей командой разработчиков для тестирования. Обе среды используют среду dev symfony (app_dev.php), и мы отключили assets_controller. В наших локальных настройках мы постоянно можем вносить изменения, запускать cache:clear и assets:dump, и все работает как надо. В нашей общей среде (которую мы развертываем для использования magellanes) мы получаем этот странный сценарий, когда файлы javascript в нашем пакете public/Resources/js записываются в web/js с именами файлов, отличными от тех, которые указаны в сгенерированном HTML, где они встроены.
Так, например, в шаблоне twig есть это:
{% javascripts '@MyGreatBundle/Resources/public/js/Default/*' %}
<script type="text/javascript" src="{{ asset_url }}"></script>
{% endjavascripts %}
Что пишется в html:
<script type="text/javascript" src="/js/60d13ef_part_1_myscript_7.js"></script>
но то, что сбрасывается на диск в web/js:
60d13ef_part_1_myscript_6.js
Шаги развертывания (кратко) выглядят следующим образом:
- Развертывание через Git Rebase
- Установить глобальные параметры для Symfony
- Установка вендоров через Composer
- Кэш Очистить
- Ассет Дамп
- Прогрев кэша
- Релиз (управление символическими ссылками)
- Дамп кэша APC
Так что, черт возьми, я делаю неправильно? Даже когда я захожу после развертывания и вручную очищаю кеш / запускаю assets:dump, проблема сохраняется. Время от времени мы будем развертывать, и это просто работает, но в основном нет. Кроме того, он некоторое время работал надежно, а затем перестал. У меня нет идей, где искать, чтобы отследить проблему.