1

すぐに実稼働アプリに変更を加える予定で、データベースとコードへのすべての変更をロールバックする方法を知りたいです。私は pgbackups と考えており、必要に応じて heroku db:push と pull でデータベースをロールバックしますが、コードはどうですか? これを行うことができるgitを使用する方法はありますか、またはフォルダ全体をコピーして、エラーがある場合はそれを元に戻してすべてを再度アップロードする方法はありますか? ありがとう。

4

2 に答える 2

1

コードを管理するには、git tagsを使用します。

  1. 現在運用中のコードのコミットを見つけてタグ付けします。
  2. 本番環境にプッシュする予定の HEAD コミットに新しいタグを追加します

コードをロールバックする必要がある場合は、heroku へのプッシュ中に古いタグをターゲットにすることができます。

実行git logして、コミットの履歴を表示できます。本番環境への最後のプッシュの直前に行われたコミットを見つけます。そのコミットのハッシュを見つけ(ログの git メッセージと同じ行で)、タグ付けします。

git tag -a v0.1 THEHASH

今すぐあなたのタグを付けますHEAD

git tag -a v0.2

今herokuにプッシュ

git push -f heroku v0.2^{}:master

うまくいかない場合はロールバックするv.0.1

git push -f heroku v0.1^{}:master
于 2012-08-29T11:23:53.987 に答える
0

純粋な git ワークフローを実行できますが、heroku はリリースをサポートしています。

heroku releasesすべてのリリースが一覧表示されます。heroku releases:rollback v1v1 リリースの時点でのスラッグを正確に含む新しいリリースが作成されます。

これも git ベースのロールバックもデータに変更を加えないため、データ移行が実行された場合は手動でロールバックする必要があります。

于 2012-08-29T15:33:04.163 に答える