Лучший способ обновить мой (некритический) сайт?

Каким-то образом я не смог найти связанный вопрос, который мне подходит.

Во всяком случае, я веду небольшой блог. Когда я впервые запустил свой блог, у него почти не было трафика, но теперь он получает пару сотен просмотров в день, отсюда моя потребность в новом процессе. У меня есть свой веб-сайт в ртутном хранилище (на bitbucket). Мой предыдущий метод обновления это было сделать что-то вроде

cd /srv/mywebsite
sudo svn update
sudo xbuild <release configuration options>

Я чувствую, что это действительно не лучший способ. Кроме того, ранее я использовал SVN, и для следующего обновления я перешел на Mercurial, так что это будет не так легко работать.

Каков, вероятно, лучший способ обновить мой простой сайт?

Что нужно иметь в виду:

  • В каталоге моего веб-сайта содержатся различные файлы без версий, например изображения, которые я добавил как часть содержимого блога, и т. Д.
  • Мой сайт работает на сервере Arch Linux и использует mod_mono+Apache+MongoDB (хотя изменения в базе данных довольно редки)
  • Существует как минимум один версионный файл, который варьируется между разработкой и производством. Содержит строки подключения к базе данных и другую внутреннюю конфигурацию
  • Время простоя не является большой проблемой, но я действительно стараюсь избегать более 15 минут на обновление

Конечно, кто-то должен управлять подобной установкой. Какой самый простой способ сделать это? (желательно без необходимости "развертывать" с моего локального компьютера и вручную объединять файлы конфигурации)

1 ответ

Я управляю веб-сайтом автолюбителей, который получает около 500-1000 просмотров страниц уже 10 лет.

Большую часть времени я запускал свои обновления через rsync. Ядром является Wordpress, но контент не-WP хранится локально и rsync'd для веб-хоста через rsync с моей локальной машины.

Rsync довольно хорош тем, что позволяет исключать из командной строки определенные файлы, такие как php.ini, mysql.cnf и аналогичные файлы конфигурации, специфичные для среды.

Например, мое слегка запутанное использование:

rsync -rlptP ~/lcl/* username@webhost:/home/username/www/

Примечание: я не использую ключ '-a', так как он включает пользователя и группу, которые различаются на разных сайтах.

Другие вопросы по тегам