С Capistrano, как откат к определенному выпуску?

С Capistrano, как откат к определенному выпуску?

В папке моего сервера есть папка /release, как я могу откат к определенному?

Возможно ли получить локальный список выпусков на моем компьютере?

Я использую GIT, и это не сработало:

cap deploy -s revision:HASH

Ответы

Ответ 1

Обновление Ответ был написан во времена capistrano версии 2. С текущей версией capistrano 3 вы можете добиться того же, используя

cap production deploy:rollback ROLLBACK_RELEASE=2010123

Подробнее см. Документация Capistrano.

Благодаря @codenoob для указания этого!


Старая версия

Следующее должно работать:

cap deploy:rollback -s previous_release=/path/to/release/on/server


Пример:

Допустим, вы развернули свое приложение в /srv/some_app, и у вас есть следующая структура релизов/каталогов:

|- srv
   |- some_app
      |- shared
      |- current -> /srv/some_app/releases/2012123
      |- releases
         |- 2010123
         |- 2011123
         |- 2012123

Если вы хотите вернуться с текущей (2012123) версии до 2010123, вы должны использовать

cap deploy:rollback -s previous_release=/srv/some_app/releases/2010123

Ответ 3

Капистрано называет каталоги выпуска по дате/времени.

Из оболочки capistrano вы можете подключиться ко всем машинам, на которых вы развертываете, и изучить их оттуда:

$ cap shell
# Show them - it might be a long list
cap> ls  /mnt/html/deployed/releases/
 ** [out :: hostname.example.com] 20110521130031
# how many releases on each machine?
cap> ls  /mnt/html/deployed/releases/ |wc -l