すぐに実稼働アプリに変更を加える予定で、データベースとコードへのすべての変更をロールバックする方法を知りたいです。私は pgbackups と考えており、必要に応じて heroku db:push と pull でデータベースをロールバックしますが、コードはどうですか? これを行うことができるgitを使用する方法はありますか、またはフォルダ全体をコピーして、エラーがある場合はそれを元に戻してすべてを再度アップロードする方法はありますか? ありがとう。
質問する
337 次
2 に答える
1
コードを管理するには、git tagsを使用します。
- 現在運用中のコードのコミットを見つけてタグ付けします。
- 本番環境にプッシュする予定の 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 v1
v1 リリースの時点でのスラッグを正確に含む新しいリリースが作成されます。
これも git ベースのロールバックもデータに変更を加えないため、データ移行が実行された場合は手動でロールバックする必要があります。
于 2012-08-29T15:33:04.163 に答える