Загрузка кода на рабочий сервер - PullRequest
1 голос
/ 08 августа 2011

Я пытался найти способ эффективной загрузки кода на мой рабочий сервер. Мой dev-сервер находится на моей локальной машине, поэтому файлы конфигурации разные. В идеале я хотел бы найти клиента командной строки, который использовал бы sFTP и загружал только файлы, которые были изменены.

Сегодня я погуглил свои мозги, но пока не нашел решения. Я был бы очень признателен за любые идеи или рекомендации программного обеспечения.

Ответы [ 2 ]

1 голос
/ 08 августа 2011

Я использую git и функцию перехвата сервера для такого рода вещей.

Транспорт закончен по ssh. Развертывание - это мерзкий толчок.

На сервере git push отправляются в пустой репозиторий, который хранится в личном каталоге пользователя. Крюк заставляет жетон оставить для cron. Другая задача cron для другого пользователя берет токен, а git перетаскивает частный пустой репозиторий в каталог развертывания. Это может быть немного Рубе-Голдбергом для некоторых, но это работает для меня.

Дополнительным преимуществом этого подхода является то, что каталог развертывания отличается от пустого хранилища, можно выполнить git diff в каталоге развертывания и посмотреть, изменилось ли что-нибудь интересное ...

Чтобы получить более подробную информацию, создайте пустой пустой репозиторий на сервере (см. Man git-init, --bare), чтобы создать каталог name.git, который вы можете проверить на своем компьютере разработчика с помощью git pull и скопировать все в а затем нажмите обратно на сервер. На сервере в name.git / hooks, post-commit и post-update сделайте «echo hello> / tmp / что-то», чтобы оставить токен для cron. В crontab другой скрипт cron ищет этот файл и, если он его находит, выполняет git pull. Это может сделать и другие вещи, например, если важны настройки совместимости.

1 голос
/ 08 августа 2011

Я бы посмотрел на rsync .Это загружает только измененные файлы.Затем вы можете исключить файлы конфигурации на основе расширений из копии.

...