Передовая практика развертывания веб-интерфейса - PullRequest
0 голосов
/ 14 сентября 2018

В настоящее время мы переводим весь процесс сборки внешнего интерфейса в веб-пакет (sass-компиляция, uglify js и т. Д.). В ходе этого мы также переосмысливаем развертывание ресурсов в целом и имеем совершенно разные мнения в команде.

До сих пор это делалось следующим образом:

  • Сборка активов запускается локально вручную
  • Скомпилированные активы проверяются в репо (минимизировано и не минимизировано)
  • все скомпилированные активы обслуживаются из репозитория во время развертывания
  • доступ к неинициализированным активам запрещен структурой папок (/js/minified.js & /js/dev/unminified.js)

Проблема с текущим потоком:

  • иногда забывают создавать минимизированные активы (разработчики обычно используют неминифицированные активы)
  • часто объединяют конфликты, когда два разработчика меняют активы и запускаютпроцесс сборки (в основном исходная карта)
  • нет реальной защиты доступа к незавершенным ресурсам в реальной среде (безопасность по незаметности)

Таким образом, я хотел бы сделать это следующим образом:

  • больше нет скомпилированных активов, включенных в репо (gitignore)
  • вызвать производственную сборкуобрабатывать автоматически при каждом развертывании

Но некоторым коллегам (в частности, разработчикам бэкэнда) идея не нравится, потому что

  • каждый должен запускать процесс сборки после каждого git pull дляиметь последние скомпилированные ресурсы (даже если они не работают с интерфейсом)
  • ответственность за успешную сборку активов переходит от разработчика к системе развертывания (они боятся случаев, когда возникают ошибки, например, когда модули узласервер не работает)

Поэтому мне действительно интересно, как другие разработчики решают эту проблему!Как это делается в вашей компании?

1) вы проверяете скомпилированные активы?

2) как вы предоставляете необработанные и минифицированные активы локально и минимизируются только в реальной среде?

...