У меня есть приложение, которое установлено в нескольких местах. Я хочу создать скрипт, который выполняет обновление приложения. И таблицы mysql, и собственно PHP-приложение необходимо обновить.
Поскольку я делаю это впервые, мне интересно, по какому пути мне идти; создание скрипта на PHP или в Bash? Каковы плюсы и минусы двух альтернатив?
В конечном итоге может случиться так, что можно будет выполнить обновление приложения из реального приложения, но на этом первом шаге я буду запускать его из оболочки.
Я использую linux (CentOS), apache, mysql
Поскольку я собираюсь ввести информацию из базы данных в сценарий, я использую PHP.
Позже этот скрипт может быть достаточно компетентным, поэтому я думаю, что проще сделать это на PHP, чем на Bash.
я предлагаю вам использовать такой инструмент, как Рекс или Capistrano для этих задач. С помощью этих инструментов вы можете написать инструкции по развертыванию, которые также могут быть использованы другими.
В качестве альтернативы вы можете использовать Повар или Кукольный для таких вещей. С их помощью вы можете легко развернуть с центрального узла на основе кулинарных книг (для шеф-повара) или рецептов (для марионеток), которые вы пишете.
Вам действительно следует предоставить информацию о том, какое обновление вы собираетесь выполнить в PHP. В общем, с помощью bash будет действительно легко управлять приложениями на нескольких серверах, вводя прямые команды SSH.
Например, если вы уверены, что хотите разместить SVN в каталоге, вы можете использовать что-то вроде этого
ssh user@server.com 'svn up /path/to/php/app'
А для обновления таблиц MySQL можно использовать клиент MySQL cli
ssh user@server.com 'mysql -e "[SQL STATEMENT]"'