Как развернуть gulp на рабочем сервере

при создании веб-сайта (для ясности только веб-сайт HTML/JS) я использую gulp для компиляции и объединения некоторых файлов, которые затем помещаются в build/ папка.

структура папок выглядит примерно так:

├── assets
│   ├── images
│   ├── javascripts
│   │   └── app.js
│   └── stylesheets
│       └── style.scss
├── bower.json
├── build
│   ├── bower_components
│   ├── images
│   ├── index.html
│   ├── scripts.min.js
│   └── styles.min.css
├── gulpfile.js
├── index.html
├── node_modules
│   ├── gulp-module-1
│   └── gulp-module-2
├── package.json
└── README

если я включу все эти файлы в репозиторий git, все мои изменения будут зафиксированы дважды. То есть: изменение в assets/stylesheets/style.scss также приведет к изменению в build/styles.min.css. Однако, если я решу исключить build/ папка из репозитория, вам понадобятся определенные инструменты разработки на производственном сервере (например, gulp, npm и т. д.) Иногда это может быть сложно, когда на рабочем сервере ограничены права доступа. Очевидно, исключая assets/ папка не является опцией, так как вы потеряете источник для скомпилированных файлов.

поэтому мой вопрос: что является наилучшей практики для развертывания на рабочем сервере? Вы включаете build/ папка в репо, вы компилируете build/ папка на production server или есть третье решение?

1 ответов


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

таким образом, вам не нужно будет иметь никаких инструментов разработки на вашем сервере, и у вас не будет выходных данных сборки в вашем контроле версий система.