我有一个应用程序安装在多个地方。 我想创build一个脚本来执行应用程序的升级。 MySQL表和实际的PHP应用程序都需要升级。
既然这是我第一次这样做,我想知道我该走哪条路; 在PHP或Bash中创build脚本? 这两种select有什么优点和缺点?
从长远来看,可能会出现这样的情况:应用程序可以从实际的应用程序中进行升级,但是在第一步中,我将从shell中运行它。
我正在使用Linux(CentOS),Apache,MySQL
由于我要将数据库中的信息注入脚本,因此我使用PHP。
后来这个脚本可能是相当有能力的,所以我认为在PHP和Bash中执行它更容易。
我build议你使用像雷克斯或Capistrano这样的工具来完成这些任务。 使用这些工具,您可以编写其他人也可以使用的部署说明。
你真的应该提供什么样的升级你将在PHP中做的信息。 一般来说,使用bash通过发出直接的SSH命令来pipe理多个服务器上的应用程序是非常容易的。
例如,如果您确定要在目录中执行SVN,您可以使用这样的东西
ssh user@server.com 'svn up /path/to/php/app'
要更新MySQL表,您可以使用MySQL cli客户端
ssh user@server.com 'mysql -e "[SQL STATEMENT]"'
作为替代,你可以使用厨师或木偶这样的东西。 有了这些,你可以很容易地从基于食谱(厨师)或食谱(傀儡)的中心节点进行部署。