#техническое
Circle CI: деплой
Конечная ступень любого процесса CI — доставка софта до продакшена. Circle позволяет автоматизировать доставку практически любой сложности. Здесь я приведу готовые рецепты, которые мы используем в своих проектах на Django.
Выложить на голое железо — самый простой способ. Читаем статью Deploying Django, берем какой-нибудь fabric и пишем скрипт, который выкладывает файлы и рестартует демона. Вот пример fabfile.py, который мы используем на простых проектах.
Выложить в кластер — у нас это swarm. Выстраиваем чуть более сложный воркфлоу, зато получаем масштабируемость. Делаем две задачи — собрать\отправить в реестр докер-образ, и обновить сервисы в кластере. Пример конфиги для двух этих задач — вот. В конфиге используется мой собственный велосипед под названием d, в современных сетапах для уменьшения бойлерплейта вместо него лучше использовать Orbs.
Выложить в облако — на самом деле, подвид предыдущего пункта, только подойдет любой облачный хостинг вроде zeit.co. Мы используем облака несколько нестандартно — для хранения статичных файлов django, чтобы не заморачиваться с маршрутзиацией статики. Если интересно как и зачем мы делаем — напишите в личку.
Circle CI: деплой
Конечная ступень любого процесса CI — доставка софта до продакшена. Circle позволяет автоматизировать доставку практически любой сложности. Здесь я приведу готовые рецепты, которые мы используем в своих проектах на Django.
Выложить на голое железо — самый простой способ. Читаем статью Deploying Django, берем какой-нибудь fabric и пишем скрипт, который выкладывает файлы и рестартует демона. Вот пример fabfile.py, который мы используем на простых проектах.
Выложить в кластер — у нас это swarm. Выстраиваем чуть более сложный воркфлоу, зато получаем масштабируемость. Делаем две задачи — собрать\отправить в реестр докер-образ, и обновить сервисы в кластере. Пример конфиги для двух этих задач — вот. В конфиге используется мой собственный велосипед под названием d, в современных сетапах для уменьшения бойлерплейта вместо него лучше использовать Orbs.
Выложить в облако — на самом деле, подвид предыдущего пункта, только подойдет любой облачный хостинг вроде zeit.co. Мы используем облака несколько нестандартно — для хранения статичных файлов django, чтобы не заморачиваться с маршрутзиацией статики. Если интересно как и зачем мы делаем — напишите в личку.