dmitrykaryakin
@dmitrykaryakin
Верстальщик - Программист - Дизайнер

Как автоматизировать загрузку обновлений на сайт?

Администрирую сайт на WordPress c большим количеством шаблонов с разным дизайном. Схема обновления:

шаг 1) Вносим правки в СSS/HTML/JS/PHP/Картинки и.т.д.
шаг 2) Меняем в PHP шаблонах версии CSS/JS. На пример style.css?001 --> style.css?002 или script.js?003 --> script.js?004
шаг 3) Вручную ч/з SFTP заливаем файлы на сервер

Хочется автоматизировать шаги 2,3. На пример было бы удобно 1 раз написать сценарий "Обновление лендинга 1" который автоматически увеличивал версии в соответствующем .php шаблоне и заливал нужные файлы (.css, .js, .php) или целые папки (c .jpeg, .png) на сервер.

Это нужно не только потому что лень, а потому что иногда приходится одновременно выкатывать изменения сразу в нескольких шаблонах, в результате возникает много моментов, где можно допустить ошибку (на пример залить стили от одного шаблона в папку со стилями другого шаблона или забыть обновить версию php файле). При наличии тестового сервера эта работа удваивается.
  • Вопрос задан
  • 291 просмотр
Решения вопроса 1
Заводите git репозиторий, работаете в нем, версий файлов у вас не будет, но будет удобная история всех изменений с возможностью отката в любой момент.

Если есть доступ к серверу по SSH, пишите такую команду для копирования файлов с вашего компа на сервер посредством rsync (можно попробовать утилиту scp, вроде есть и под windows):

rsync -avc /path/to/local/files user@192.168.1.107:/path/to/wordpress

Если SSH нет, можете сделать git clone репозитория на удаленном сервере, при обновлении заходить туда руками и делать git pull. Есть вариант посложнее, но в конечном счете удобнее, с bare репозиторием git'а на удаленном сервере, можете погуглить в интернете, что это и как делается.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
sabramovskikh
@sabramovskikh
Зачем все эти "style.css?001 --> style.css?002 или script.js?003 --> script.js?004"? Нельзя использовать один файл и его обновлять?
Попробуйте изучить GIT, возможно поможет вам с решением вашей проблемы
Ответ написан
mgyk
@mgyk
Посмотрите на capistrano. И выкатывайте автоматом на несколько серверов сразу
jeremykendall.net/2013/11/24/php-and-capistrano-3-...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы