Отслеживание развернутых файлов приложений

Что вы, ребята, используете для развертывания и приложения и отслеживания их файлов на производстве? Я имею в виду отслеживание, если файл не был изменен непосредственно на сервере?

спасибо

Ответ 1

Я использую Git в течение 3 лет для отслеживания /usr/local в производственном кластере HPC.

Для 2.2G (в основном двоичных файлов) требуется 1 минута git log -n 1; git status (через NFS!), чтобы убедить себя, что после развертывания файлы не были изменены. На локальном диске сканирование займет несколько секунд. Если изменения произошли, я вижу, какие файлы и diff (если он не двоичный).

Ответ 2

I не будет отслеживать эти файлы через VCS на сервере.
Обычно (за исключением простого развертывания webapp) у вас нет никакого "ненужного" инструмента на производственном сервере за теми, которые вам действительно нужны для запуска приложения (т.е.: конечно, не VCS).

Система контроля версий находится до рабочей среды, чтобы вы могли развернуть определенный тег.
Но как только этот тег используется для получения ваших файлов, происходит процесс развертывания:

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

Итак, я бы установил внешнее (т.е. не управляемое напрямую VCS) задание для сравнения файла с версией и соответствующего развернутого файла.