Archive for the ‘capistrano’ tag
Развертывание сайта на Jekyll – Capistrano и Rsync
Jekyll представляет собой простой генератор статических сайтов. Он берет директорию с шаблонами и преобразует их с использованием Textile/Markdown и Liquid в обычные статические html-страницы, которые могут отдаваться напрямую через Apache, Nginx или любой другой web-сервер.
Многие уже привыкли разворачивать свои web-приложения с помощью Capistrano, запуская команду cap deploy. Поэтому удобно использовать такой же способ и для статического сайта, генерируемого при помощи Jekyll. Для этого необходимо создать Capfile в директории с Jekyll-сайтом:
Cron и Ruby: использование Whenever
Библиотека Whenever предоставляет простой синтаксис для определения cron задач, позволяет вывести или записать crontab файл. Whenever разработана с учетом использования с Rails приложениями и развертывания через Capistrano, но может использоваться и независимо.
Для использования нужно установить гем whenever:
Включение цветного вывода для Capistrano
Устанавливаем библиотеку capistrano_colors:
Добавляем в ~/.caprc подключение этой библиотеки:
Развертывание Symfony приложения с Capistrano и Subversion
Одним важных процессов в разработке web-приложений, в том числе и написанных с использованием фреймворка Symfony, является деплоймент или разворачивание и обновление проекта на удаленном сервере. Для выполнения подобных действий существует множество средств и одним из самых популярных является Capistrano. Он достаточно прост в освоении, очень гибок в настройке и функциональный богат, но по-умолчанию настроен для Ruby on Rails приложений.
Настроить Capistrano для развертывания Symfony приложений не составляет особого труда, так как все этапы стандартного процесса с легкостью можно переопределить.
В корне проекта запускаем capify . и начинаем настраивать config/deploy.rb.
Capistrano и deploy проектов
Capistrano является инструментом для автоматизации задач на одном или нескольких удаленных серверах. Он выполняет команды на всех целевых машинах параллельно и обеспечивает механизм для отката изменений. Поэтому удобно использовать Capistrano для развертывания web-приложений.
Для того, чтобы без использования Capistrano разместить свой код в production среде, можно выполнить одно из следующих действий:
- Залить по FTP весь код приложения, а затем обновлять измененные файлы.
- При использовании системы контроля версий (например, Subversion) зайти через SSH на production сервер и получить/обновить код с помощью checkout/update из репозитория.
- Использовать скрипты на основе rsync для синхронизации своей рабочей копии с сервером.
Разумеется, эти подходы имеют полное право на существование. Но кроме обновления кода есть и другие вещи, которые необходимо выполнять (применение миграций базы данных, очистка кэша и т.д.). Capistrano позволяет автоматизировать все рутинные операции связанные с развертыванием и обновлением приложений, оставляя больше времени на процесс разработки.