Как не учитывать компилируемый код в системе GIT, но при этом выкатывать его на прод?
Вот, к примеру, есть у меня компилируемый css/js. Мне совершенно не нужно, чтоб при каждом коммите эти файлы помечались как измененные, они просто не нужны при контроле изменений, так как нужно отслеживать изменение исходников. Тем не менее боевой сервер использует именно эти файлы, и, разумеется, они должны быть свежие. Как быть в такой ситуации? Добавлять их в gitignore и компилировать на проде ну такое.
Добавлять их в gitignore и компилировать на проде ну такое
Ну раз "ну такое", то остаётся ручками носить на боевой сервер. Собирать в любом случае придётся. Если есть какая-то прослойка, типа Github Actions, то можете там компилировать и отправлять оттуда на сервер.
Процедуру деплоя на прод нужно изменить
Вместо git pull на продакшене, собирайте прод дистрибьюшн на промежуточном сервере в какой-нить tgz и выкладывайте его на прод уже скомпилированным.
Стадию компиляции можно вынести в CI/CD.
Например если используется Gitlab, то настроить пайплайн, при котором после пуша идет сборка приложения и уже скомпилированные файлы отправляются на продакшен.
Василий Банников, Наверное проды бывают разные.
Деплой может проходить в green time
прод может жить в своем контейнере не аффектя старый
компиляция может быть запущена с низким приоритетом
CI/CD подразумевает автоматизацию процесса а не обязательно выделенный специальный сервер