我在Heroku上安裝了wordpress,我可以安裝插件和更新。 我的問題是,如果服務器上的某些文件發生變化,我如何確保它能夠提交給我的應用程序的heroku git repo?Heroku上的WordPress更新
示例,wordpress發佈更新。 我點擊管理員中的更新wordpress。 所有更新的文件都在服務器上更改。 如果我從heroku複製回購,我會有新安裝的wordpress版本嗎?
我在Heroku上安裝了wordpress,我可以安裝插件和更新。 我的問題是,如果服務器上的某些文件發生變化,我如何確保它能夠提交給我的應用程序的heroku git repo?Heroku上的WordPress更新
示例,wordpress發佈更新。 我點擊管理員中的更新wordpress。 所有更新的文件都在服務器上更改。 如果我從heroku複製回購,我會有新安裝的wordpress版本嗎?
Heroku文件系統是Ephemeral這就是說當dyno由於某種原因重新啓動時,本地存儲的文件將會丟失。 dynos無權訪問Git存儲庫。它們存儲在一個實際上是zip文件的名字中。這是一項安全功能:如果有人猜測密碼並獲得對文件系統的訪問權限,那麼在重新啓動應用程序時,他們將不得不重新採用該應用程序。允許有人從網絡更新您的版本控制是一個真的很棒的想法。
所以,即使WordPress的運行更新,看似成功,它的一個或兩個以下:
這可能會搞亂你的整個安裝,因爲代碼和數據將不同步。
上有在Heroku上運行的WordPress安裝的東西的方式有兩種:
選項2也可能是危險的,因爲它在應用程序運行時實際上與生產數據庫有關。這意味着您應該停止生產版本的維護或將其轉爲只讀。記得也要記錄數據庫快照。
我使用選項1來做到這一點。使用Git只需按動更改您的Heroku之後遠程每次提交如下:
git push heroku branchinwhichyouareworking
這樣你的更改都將致力於爲您的應用程序的混帳回購協議。 請記住,如果它不是主分支,你正在推動一個Heroku的,您必須使用此語法:
git push heroku branchinwhichyouareworking:master
更多信息here。