自分用のメモ。
体感したことだけなので、ちょっと違うかも。
capistranoでロールバックするときの単位はデプロイ単位。
デプロイの単位について
1回目のデプロイ
commit A
commit B
2回目のデプロイ
commit C
という状態だったとき、
commit Aでバグが発生したのでデプロイを全てなかったことにしたい。
1回目のrollback
bundle exec cap [環境] deploy:rollback
⇒1回目のデプロイの状態になる。
2回目のrollback
bundle exec cap [環境] deploy:rollback
⇒全てのデプロイがなくなった状態になる。
シンボリックの変更について
シンボリックリンクが変更になるのは、
そのシンボリックリンクに関連するデプロイがなくなったら。
前提(昨日デプロイした)
commit X
1回目のデプロイ(昨日)※追加でデプロイ
commit A
commit B
2回目のデプロイ(今日)
commit C
3回目のデプロイ(今日)
commit D
という状態だったとき、
やっぱり全部のデプロイをなかったことにしたい。
1回目のrollback
bundle exec cap [環境] deploy:rollback
⇒2回目のデプロイの状態になる。シンボリックリンクは今日生成されたディレクトリ。
2回目のrollback
bundle exec cap [環境] deploy:rollback
⇒1回目のデプロイの状態になる。シンボリックリンクは今日生成されたディレクトリ。
3回目のrollback
bundle exec cap [環境] deploy:rollback
⇒全てのデプロイがなかったことに。シンボリックリンクは昨日生成されたディレクトリ。
内容はcommit Xの状態になる。