Что такое Capistrano, для чего его использовать и какие у него преимущества

Capistrano — это программа для удалённого развёртывания приложений. Я использую этот инструмент для того, чтобы безопасно публиковать и обновлять свои сайты.

Зачем использовать Capistrano

В процессе работы с сайтами возникает задача доставки кода с вашего компьютера на сервер сайта. В идеале этот процесс должен быть удобным, быстрым и безопасным. Простая отправка файлов по протоколу FTP или SFTP занимает много времени и во время отправки может возникнуть ситуация, когда на сайте одновременно находятся и новые и старые файлы, что может привести к ошибкам при выполнении кода в них. Кроме того, в современной разработке веб сайтов активно используются менеджеры зависимостей (NPM, Bower, Composer) и нужен удобный инструмент их запуска на сервере.

Преимущества  использования Capistrano

  1. Быстро — при использовании Capistrano весь код и содержимое сайта передаётся на рабочий сервер не с вашего компьютера, а с репозитория (например Github или Bitbucket). А значит скорость и качество вашего интернет-соединения практически не играют никакой роли;
  2. Гибко — Capistrano при развёртывании позволяет выполнять произвольные команды на вашем сервере. В основном это установка пакетов (NPM, Bower, Composer), сборка проекта с помощью Gulp и создание символьных ссылок в файловой системе сервера;
  3. Безопасно — Для доступа к каталогу, куда Capistrano устанавливает код, используется символьная ссылка. После того, как весь код был скопирован с репозитория и были выполнены все прописанные команды, Capistrano перенаправялет ссылку со старого каталога на новый. Эта операция атомарна поэтому при развёртывании не может произойти такого, что часть вашего кода уже обновилась, а часть ещё от старой версии.
  4. Удобно — Capistrano работает под Windows, поэтому для развёртывания сайта не нужно иметь отдельную *nix-систему или виртуальную среду.

Типичный порядок публикации кода с помощью Capistrano

  1. Отправляем код в репзиторий Git;
  2. В командной строке запускаем: cap production deploy;
  3. Через пару минут ваш сайт опубликован на сервере.

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

Ваш адрес email не будет опубликован.