2016-03-31 4 views
0

У меня есть приложение на php. Я использую множество javascript, css, шрифтов и прочего.gulp, git, php & production build

Все версии с git, и я обновляю свои серверы git. Мой сервер находится на главной ветке, и я нажимаю на него все, чтобы обновить код на моем сервере.

Итак, теперь я хотел бы обновить свой код и начать с помощью gulp с ним автоматически компилировать javascript, использовать sass и генерировать шрифты.

Я не хочу устанавливать gulp на свой сервер, если что-то пойдет не так, мой сайт будет unoperationnal. Поэтому я должен иметь возможность создавать версию сборки с скомпилированными файлами javascript, css ... Но не хочу, чтобы всегда фиксировать файлы thoses, так как это может вызвать конфликт в моей команде каждый раз, когда мы меняем версию.

Каким будет лучший рабочий процесс для создания версии сборки со всеми скомпилированными файлами и не вызвать конфликт в git?

Спасибо

ответ

0

Это моя установка:

enter image description here

Обратите внимание на задаче развертывания? Ну, развернуть с параметром --release, релизы в другом месте, которое просто развернуть.

Он должен быть таким же простым, как развертывание в разных местах. В вашем случае к различным размещенным папкам, из которых вы можете получить доступ к двум различным веб-приложениям. Один, который работает, и один в разработке.

К выписке:

Я не хочу, чтобы установить глотка на моем сервере в случае что-то идет не так,

Вам не нужно глотка на сервере вообще никакой. У меня есть глоток на моем сервере Teamcity, но это все.

Так или иначе, это то, что работает для меня. Я надеюсь, что это помогает.

+0

Я предполагаю, что в вашей обычной сборке вы все еще компилируете js и css, но вы должны игнорировать скомпилированные файлы (с файлом gitignore?). Но с вашим развертыванием, как вы переопределяете файлы игнорирования? Или вы копируете все свои файлы в другую папку, у которой есть другой файл gitignore? – Etienne

+0

Кстати, я использую TFS, а не Git (к сожалению). Я всегда игнорирую «скомпилированные файлы». Это всего лишь артефакты процесса сборки, как exes и dll. Теперь мое развертывание копирует некомпилированные, неминифицированные, не оптимизированные, не все файлы на мой тестовый сервер, где мы можем преследовать ошибки и так далее. My deploy --release, с другой стороны, компилирует, оптимизирует, минимизирует, объединяет, пересматривает ... все файлы для создания одного html-файла и одного css и одного js-файла, который попадает на сервер QA. –

+0

Если вы У вас есть сервер сборки, вы должны изучить его. Он может автоматизировать так много шагов для вас и добавит последовательность и надежность в ваш процесс разработки. Он также может поддерживать версию ваших артефактов. Имея в виду, что он будет отслеживать ваши скомпилированные файлы, и таким образом вы знаете, какие артефакты, развернутые для QA или производства, являются результатом того, какой набор изменений в контроле источника, –

Смежные вопросы