Прежде, чем начать свой рассказ, задам один маленький вопрос: Как вы разворачиваете свои проекты сервере?
Если вами управляется один маленький сайтик на бесплатном виртуальном хостинге, то проблемы синхронизации у вас не возникают — подключился по ftp, скопировал файлы и все. А если нужно контролировать развертывание нескольких сотен проектов (от маленьких сайтов визиток до нагруженных приложений), над которыми трудится не один десяток людей? Если позволяет квалификация, то можно использовать rsync, unison и др. Особо отчаянные могут просто обновлять рабочую копию проекта (svn, git и тд.) из репозитория. А что будут делать десятки художников, которым срочно нужно поправить вот ту маленькую картинку? Ведь для многих из них консоль — волшебный темный дремучий лес.
Под катом описание одного решения, позволяющего сильно упростить процесс развертывания приложений.
Читать полностью »
Метка «deploy»
Syncman — развертывание и синхронизация проектов не удаленном сервере
2013-12-25 в 3:37, admin, рубрики: deploy, Git, Rsync, svn, Веб-разработка, управление проектами, метки: deploy, Git, Rsync, svnРазвёртывание приложений node.js
2013-12-12 в 21:18, admin, рубрики: deploy, node.js, web-development, Веб-разработка, метки: deploy, node.js, web-development
Деплоймент приложения всегда является критической точкой цикла разработки… и никогда не бывает лёгким. Если Вы пользуетесь услугами хостинговых провайдеров, то вероятнее всего Вам уже предоставили достаточный всяческих удобств сервис. В данной статье я расскажу про развёртывание приложений без создания сложной хостинговой инфраструктуры…
Читать полностью »
Миллион PPS в секунду — связанность и балансировка
2013-05-13 в 15:18, admin, рубрики: BGP, deploy, highload, salt, Песочница, метки: BGP, deploy, highload, salt
На последней конференции РИТ++ мне посчастливилось стать впервые докладчиком конференции такого масштаба и такой значимости. В этой статье я не просто хочу пересказать всё, о чём я докладывал. Выступать впервые перед такой большой аудиторией для меня было непривычно и я половину забыл рассказать, нервничал немного. Речь пойдет о создании с нуля собственной отказоустойчивой структуры для веб-проектов. Мало кому из системных администраторов дается возможность с нуля запустить в production крупный проект. Мне повезло.
Как я уже написал, я не смог рассказать всё, что планировал со сцены, в этой статье я восполню эти пробелы, да и для того, кто не смог там присутствовать — это будет приятно, видео с конференции так и не дали бесплатно всем. Да и стать пользователем Хабра я хотел давно, вот только не было времени. Майские праздники дали время и силы. Статья будет не столько технической с кучей конфигов и графиков — статья будет принципиальная, все пробелы мелких технических вопросов можно будет восполнить в комментариях.
Читать полностью »
Размещаем код сайта через Git: просто и легко
2013-05-07 в 5:42, admin, рубрики: deploy, deployment tools, Git, howto, workflow, метки: deploy, deployment tools, Git, howto, workflow
С того самого момента, когда я начал изучать Git, меня волновали методы практического применения этой DCVS, делающие работу с использованием этой DCVS удобней и проще, в частности, когда нет необходимости взаимодействовать с какими-то удаленными сервисами вроде GitHub и, в целом, делиться кодом с посторонними людьми. Так как большую часть времени я использую Git при разработке различных веб-ориентированных систем, первым рецептом, которым я хочу сегодня с вами поделиться, будет по-настоящему удобный и простой способ выгрузки исходных кодов и ресурсов сайта на любой сервер, на котором установлен Git.
В отличии от некоторых способов решения подобных проблем, в том числе описанных здесь на хабре, предлагаемый мною способ требует всего лишь одного удаленного репозитория на сервере, всего лишь одного хука и не требует ничего другого кроме самого Git. Конечно, он, может быть, не даёт всей гибкости, что дают другие методы, но это некоторое отсутствие гибкости, по-моему, полностью компенсируется простотой и удобством применения этого метода. Этот метод будет особенно удобен для небольших проектов.
Foreman — менеджер процессов для ваших веб-приложений
2013-04-17 в 14:29, admin, рубрики: deploy, Веб-разработка, Серверное администрирование, метки: deployВсе более популярной становится модель разработки веб-приложений, основанная на идее масштабирования с помощью процессов. Современное приложение представляет из себя набор выполняющихся процессов, не хранящих состояния, причем каждый изолирован друг от друга. Каждому такому процессу назначается свой локальный порт, что позволяет прозрачно экспортировать ваши сервисы для последующего их потребления кем-нибудь еще, возможно даже, что друг другом (например, один обслуживает http-запросы от пользователей, принимая url-адреса видео, а другой медленно, но верно, загружает их и конвертирует). Как правило, в большинстве случаев http-сервисы просто ставят за reverse proxy в nginx, но возможны варианты.
Не секрет, что у каждого разработчика есть свой арсенал инструментов, позволяющий ему так или иначе сделать свою жизнь проще. Сегодня мы поговорим о таком инструменте, как Foreman. Используя его, вы можете объявить в одном месте все процессы, которые необходимы для запуска вашего приложения. Для этого используется так называемый Procfile, который выглядит как-то так:
web: mono ./awesome-app --port $PORT
api: node ./api.js -p $PORT
worker: bundle exec rake resque:work QUEUE=*
habr: bundle exec ./bin/thin -a localhost -p $PORT
Как видите, все довольно просто, в каждой строчке файла содержится по названию типа процесса и строка для его запуска.Читать полностью »
Выкладка python-проектов с помощью pip и wheel
2013-03-11 в 7:53, admin, рубрики: deploy, deployment, pip, python, wheel, Веб-разработка, Песочница, метки: deploy, deployment, pip, python, wheelПривет!
В этом посте я буду говорить о выкладке Python-проектов: о том как положить на сервер код и все требуемые сторонние модули. Многие из нас сталкивались с проблемой развертки проекта на боевой машине, но на хабре об этом мало пишут; я хочу поделиться своим опытом.
Githubizer: автодеплой с Гитхаба на сервер
2013-03-01 в 7:46, admin, рубрики: deploy, deployment tools, erlang, Erlang/OTP, Git, github, open source, tools, метки: deploy, deployment tools, erlang, Git, github, tools Интересно, скольким из вас приходилось хотя бы иногда, но повторять рутиные действия для настройки автодеплоя с гитхаба на сервер: создать ssh-ключ, добавить его для репозтория проекта на Гитхабе, создать скрипт, который будет слушать какой-то адрес, добавить вебхук в интерфейсе гитхаба, который будет дергать этот скрипт… Уфф… А что, если я скажу вам, что автоматизировал все эти действия по-максимуму? Да, теперь вам нужно выполнить всего пару команд и автодеплой запущен и работает! И все это благодаря Гитхабайзеру :)
Читать полностью »
Capistrano deploy
2013-01-14 в 18:37, admin, рубрики: capistrano, continuous integration, deploy, php, метки: capistrano, continuous integration, deploy Как ранее уже писалось
Данную статью можно рассматривать как опыт внедрения capistrano, после прочтения статьи. Статья-дополнения, скажем так.
Статью разделю на 3 части, это первая.
В первой части опишу теоретические сложности, с которыми я столкнулся по мере работы с капистрано.
Во второй- установка и настройка базового функционала.
Третья- финальная, допиливание=)
Читать полностью »
Django work flow (от создания до деплоя)
2013-01-08 в 15:44, admin, рубрики: create, deploy, deployment tools, django, fabric, work, workflow, метки: create, deploy, deployment tools, Django, fabric, work, workflowРечь пойдет о быстром создании и деплое новых проектов, подробнее о том, как нужно экономить свое время.
Мы хотим, что бы начало нового проекта было максимально простым и удобным, как и его последующий деплой. В лучшем случаем нам бы хотелось иметь 3 кнопки: начать новый проект, задеплоить и обновить.
Эта тема не новая и уже достаточно освещена в разных аспектах, я лишь покажу свой вариант.
Для комфортной разработки нам понадобится: PyCharm (ну или какой другой редактор), Python (куда без него), fabric, virtualenv, git и pip.