Как правильно организовать процесс разработки крупных сайтов?

Сегодня я осознал, что поддерживать проекты как front-end разработчик я так больше не могу…
Сейчас процесс следующий:
  1. тестирование сайта: кто-то находит косяк в интерфейсе сайта, или дизайн на сайте чуть решили поменять
  2. поиск и закачка: я открываю Filezilla и через FTP пытаюсь отыскать во всей куче файлов нужный мне css (а css там штук 20)
  3. редактирование: в самый конец css (около 2000 строк кода) я добавляю css-правило, неважно какое (нет времени искать во всем этом куда лучше вставить новое правило, чтобы сохранить какую-то структуру CSS)
  4. сохранение и копирование файла: я сохраняю в Sublime свой CSS, переключаюсь на Filezilla и закачиваю его обратно на сервер


Чтобы сделать малюсенькую поправку (в чистом Хроме, локально, это можно сделать за 20 секунд), на это дело уходит минут 5. Поправок бывает немало и все это уже надоело, потому что думаю есть более правильный способ поддержки проектов.

К примеру, снова появилась задача что-либо исправить (или сделать с нуля проект). И мне кажется процесс должен быть таким (поправьте, пожалуйста, что не так):
  1. создаем\изменяем проект и его структуру (локально)
    • создаем папки\файлы
    • программируем\верстаем (берем Bootstrap)
    • пишем на .less c live editing (когда сразу в Хроме видны изменения)

  2. тестируем на локальном сервере (работаем со Smarty)
  3. заливаем проект на GitHub (коммитим)
  4. собираем и разворачиваем проект (build и deploy):
    • компилируем .less в .css
    • собираем все css и js в один файл
    • минимизируем файлы css и js
    • заливаем на PRODUCTION-хостинг нужные файлы

  5. тестируем (на PRODUCTION-хостинге)
  6. заливаем на локальный компьютер с GitHub'a


Затем снова начинаем с пункта 1 (итерация такая вот). Скажите, я вообще верно понимаю процесс разработки? И поможет ли мой вариант НА ДЕЛЕ в повышении удобства и эффективности разработки?
  • Вопрос задан
  • 5245 просмотров
Пригласить эксперта
Ответы на вопрос 4
Antago
@Antago
БЭМ + Git + CruiseCountrol спасут вас
Ответ написан
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
Если все ваши пункты будут автоматизированы (скажем деплой через CI сервер) то да, это будет удобнее. Использовать git и less уже будет удобнее.
Ответ написан
Мы используем CruiseControl и TortoiseSVN, очень удобно.

UPD: На деле это происходит так: выкачиваем тортисом нужный репозиторий, делаем правки кода и коммитим изменения. Круиз Контрол видит, что произошли изменения, запускает тесты и если все OK, делает publish.
Ответ написан
marshinov
@marshinov
Если у вас нет опыта в настройке CI, неплохое решение сначала просто update/export из VCS в файловую систему на сервере. Например по SSH. В этом случае будут заморочки с конфигами, но они вполне решаются добавлением файлов в игнор. То, что вы написали, особенно в пунктах 3 и 4 — правильно, особенно если вам нравится less, но не тривиально: не все файлы JS должн собираться в один, разные js подключаются на разных страницах. Для сжатия CSS нужно использовать всегда абсолютные пути в к картинкам. Защита от двойной минификации… Лучше не бросайтесь в омут с головой, а идите методом постепенных улучшений:
  1. VCS+export
  2. CI server + deploy script
  3. Минификация, less и прочие плюшки
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы