Heroku上的WordPress更新

问题描述:

我在Heroku上安装了wordpress,我可以安装插件和更新。 我的问题是,如果服务器上的某些文件发生变化,我如何确保它能够提交给我的应用程序的heroku git repo?Heroku上的WordPress更新

示例,wordpress发布更新。 我点击管理员中的更新wordpress。 所有更新的文件都在服务器上更改。 如果我从heroku复制回购,我会有新安装的wordpress版本吗?

Heroku文件系统是Ephemeral这就是说当dyno由于某种原因重新启动时,本地存储的文件将会丢失。 dynos无权访问Git存储库。它们存储在一个实际上是zip文件的名字中。这是一项安全功能:如果有人猜测密码并获得对文件系统的访问权限,那么在重新启动应用程序时,他们将不得不重新采用该应用程序。允许有人从网络更新您的版本控制是一个真的很棒的想法

所以,即使WordPress的运行更新,看似成功,它的一个或两个以下:

  1. 文件写入到文件系统在下次重启
  2. 丢失写入到数据库中不丢失

这可能会搞乱你的整个安装,因为代码和数据将不同步。

上有在Heroku上运行的WordPress安装的东西的方式有两种:

  1. 解压的东西在他们正当​​的地方,将他们推向Heroku的Git中。
  2. 在本地运行您的Wordpress实例,针对生产数据库,并将更改推送到Heroku。

选项2也可能是危险的,因为它在应用程序运行时实际上与生产数据库有关。这意味着您应该停止生产版本的维护或将其转为只读。记得也要记录数据库快照。

我使用选项1来做到这一点。使用Git只需按动更改您的Heroku之后远程每次提交如下:

git push heroku branchinwhichyouareworking 

这样你的更改都将致力于为您的应用程序的混帐回购协议。 请记住,如果它不是主分支,你正在推动一个Heroku的,您必须使用此语法:

git push heroku branchinwhichyouareworking:master 

更多信息here