Стратегии деплоймента в Capistrano

Стратегии деплоймента в Rails настраиваются в файле config/deploy.rb. Сама настройка сводится к установке нескольких встроенных переменных в определённые значения.

# эта стратегия используется по умолчанию. Сводится она к тому,  
# что на :app сервере запускается приложение svn которое обращается 
# к удалённому репозиторию и делает checkout указанного проекта.
set :deploy_via, :checkout

# Эта стратегия похожа на ту что описана выше, за исключением 
# того что вместо checkout-а используется export для SVN это
# например означает то, что будет получена "чистая" копия 
# приложения (без .svn директорий)
set :deploy_via, :export

# В этой стратегии на сервере в каталоге 
# <you app>/shared/cached-copy содержится checkout копия 
# приложения и при обновлении приложения выполняется действие 
# update (а не checkout) как следствие увеличивается скорость 
# обновления и уменьшается трафик
# После обновления содержимое каталога cached-copy копируется 
# в текущий каталог приложения.
set :deploy_via, :remote_cache

# В этой стратегии происходит следующее: на вашей локальной 
# машине из репозитория берётся checkout копия приложения, 
# упаковывается утилитами tar и gzip, а затем при помощи sftp
# отправляется на сервер где средствами Capistrano 
# разворачивается в текущую директорию приложения.
set :deploy_via, :copy

И соответственно несколько примеров использования

# Взять приложение из репозитория исключая файлы или директории 
# с именами '.git' и '.svn' и скопировать его на сервер
set :deploy_via, :copy
set :copy_exclude, [".svn", ".git"]

# Взять приложение из репозитория (используя действие export) и 
# скопировать его на сервер предварительно упаковав tag+gz
set :deploy_via, :copy
set :copy_strategy, :export

# В данном случае вместо сжатия архиваторами tag+gz используется 
# сжатие zip архиватором
set :deploy_via :copy
set :copy_compression, :zip

# Keep a local checkout copy up to date and copy that.
# В первый раз на локальной машине из репозитория берётся 
# checkout копия приложения (а во все остальные происходит 
# update этой копии), затем пакуется и отправляется на сервер
set :deploy_via, :copy
set :copy_cache, true

Тэги: capistrano
Будь всегда в курсе последних новостей блога подписавшись на новости
в формате RSS. Присоединяйся!
* * *

Добавить новый комментарий

Доступные BB теги

*

* (не будет опубликован)

(если есть)

  • Multi CAPTCHA Refresh2
  • *

1. Проверьте комментарий перед отправкой
2. Все комментарии проходят модерацию перед публикацией в блоге