С Capistrano, как откатиться на конкретный релиз? - PullRequest
14 голосов
/ 05 декабря 2010

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

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

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

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

cap deploy -s revision:HASH

Ответы [ 3 ]

42 голосов
/ 21 июня 2012

Обновление Ответ был написан во времена 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
4 голосов
/ 26 августа 2016

Другой вариант -

$ cap deploy:rollback ROLLBACK_RELEASE=20160614133327

из http://capistranorb.com/documentation/getting-started/rollbacks/#

0 голосов
/ 30 мая 2011

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

Из оболочки 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...