0

Herokuにwordpressをインストールしていて、プラグインとアップデートをインストールできます。私の質問は、サーバー上でいくつかのファイルが変更された場合、アプリのheroku gitリポジトリに確実にコミットされるようにするにはどうすればよいですか?

たとえば、wordpressはアップデートをリリースします。管理者でWordPressの更新をクリックします。更新されたファイルはすべてサーバー上で変更されます。herokuからリポジトリのクローンを作成した場合、新しくインストールされたバージョンのWordPressはありますか?

4

2 に答える 2

3

Herokuファイルシステムはエフェメラルです。つまり、ローカルに保存されているファイルは、何らかの理由でdynoが再起動されると失われます。dynoはGitリポジトリにアクセスできません。それらは、実際にはzipファイルの栄光の名前であるスラッグに格納されます。これはセキュリティ機能です。誰かがパスワードを推測してファイルシステムにアクセスした場合、アプリが再起動したときにアプリを再ハッキングする必要があります。誰かがWebからバージョン管理を更新できるようにすることは、本当に悪いアイデアです。

したがって、Wordpressが更新を実行し、一見成功したように見えても、次のいずれかまたは両方を実行します。

  1. 次の再起動で失われるファイルをファイルシステムに書き込みます
  2. 失われないようにデータベースに書き込みます

これにより、コードとデータが同期しなくなるため、インストール全体が混乱する可能性があります。

Herokuで実行されているWordpressにインストールする方法は2つあります。

  1. 正当な場所で物事を解凍し、GitのHerokuにプッシュします。
  2. Wordpressインスタンスを本番データベースに対してローカルで実行し、変更をHerokuにプッシュします。

オプション2は、アプリの実行中に本番データベースを実際に混乱させるため、おそらく危険でもあります。これは、メンテナンスのために製品版を停止するか、読み取り専用にする必要があることを意味します。データベースのスナップショットも忘れずに作成してください。

于 2013-03-13T14:03:54.503 に答える
0

オプション1を使用して実行します。gitを使用すると、次のように各コミット後に変更をherokuリモートにプッシュするだけです。

git push heroku branchinwhichyouareworking

このようにして、変更はアプリのgitリポジトリにコミットされます。herokuにプッシュしているのがマスターブランチでない場合は、次の構文を使用する必要があることに注意してください。

git push heroku branchinwhichyouareworking:master

詳細はこちら

于 2013-10-21T09:52:07.457 に答える