Лучший способ обновить мой (некритический) сайт?
Каким-то образом я не смог найти связанный вопрос, который мне подходит.
Во всяком случае, я веду небольшой блог. Когда я впервые запустил свой блог, у него почти не было трафика, но теперь он получает пару сотен просмотров в день, отсюда моя потребность в новом процессе. У меня есть свой веб-сайт в ртутном хранилище (на 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', так как он включает пользователя и группу, которые различаются на разных сайтах.