1

我正在创建一个 php 应用程序-该应用程序将有 2 种类型的更新-

(a) 应用程序本身需要定期更新——管理应用程序的用户将收到更新通知,他可以初始化更新。

(b) 最终用户可以上传他自己的文件(如主题的自定义 css/js 文件),以便使用他的自定义设计来呈现 php 应用程序。用户还可以将自己的文本内容添加到应用程序中

现在,我想将此应用程序部署到云提供商——最好使用像 Amazon Elastic beanstalk、PHP Fog 或 Red Hat Open Shift 这样的 PaaS——我感到困惑的是以下几点——

(1)据我了解,要部署php app的初始版本,我首先要创建app的本地安装,正确配置,然后把这个配置好的版本部署到云提供商。但是参考上面的第 1 点,我是否必须在本地安装上初始化每个更新,然后将新版本上传到 PaaS 平台?

(2) 现在,参考用户对已经在云上运行的应用程序版本所做的更改,我如何确保他对应用程序所做的更改(无论他所做的任何更改是否存储在数据库或他上传的那些文件)是否完好无损?如果我只是上传我在本地拥有的版本(我通过定期更新进行了升级)——那么我会丢失工作人员在以前版本的云版本上所做的文件/数据库更改吗?如何保持这些文件+数据库更改完好无损?

我能想到的一件事是使用我想用于云版本的数据库,甚至用于应用程序的本地版本——这样即使用户进行了更改(我指的是对数据库)——那么即使我将新版本上传到云端——对数据库所做的更改仍然完好无损……现在我只需要考虑用户上传的文件——即使我在这方面是正确的,如何保存这些文件?如果我不正确,如何保留最终用户在数据库和文件中所做的更改?如何执行此操作并升级我的 php 应用程序。

4

1 回答 1

0

我知道这是一个老问题,但我会提出一些建议:

1.) 是的,您很可能需要使用 git 从本地工作站启动所有更新,具体取决于您选择的 PaaS。

2.) 如果您有用户对应用程序(代码)进行更改,那么您需要授予他们使用 git 或您正在使用的任何 vcs 的访问权限。或者,您只需要使用 SFTP 或 SCP 来上传文件,每个人都基于这个概念工作。

提供有关您正在谈论的确切应用程序类型的更具体信息可能会有所帮助。我不确定您是在谈论让您的用户更改运行应用程序的代码,还是让他们更新内容,例如使用 drupal/wordpress。

于 2014-05-12T13:26:55.847 回答