LINUX.ORG.RU

Инструмент деплоинга для веброекта ?


0

1

Есть проект(сайт), написан на yii. Код лежит в svn.
Есть вебсервер (nginx+php-fpm).
Есть программисты, которые пишут код и комитят в svn.

Сейчас развертывание кода(стабильной версии) выглядит незатейливо :
человек заходит по ssh на вебсервер и делает svn update+ правка конфигов, установка прав и тп.

Хочется внедрить инструмент, который позволит автоматизировать все эти действия + избавит от необходимости использовать ssh.

Зы - можно конечно написать Makefile с кучей ssh,sed,awk, chown... но наверняка все уже придумали за нас :)

кстати, еще вопрос - как обычно деплоят БД?

★★★★★

кстати, еще вопрос - как обычно деплоят БД?

Liquibase?

dotcoder ★★★★★ ()

Инструмент называется fabric, а для БД берут django-south(sqlalchemy-migrate), но сперва переписывают всё на питоне.

А вообще для деплоймента ответ очевиден - используйте пакетный менеджер. Заверните свой проект в deb/rpm/что_там_у_вас и деплойтесь автоматически.

Snorg ()
Ответ на: комментарий от Snorg

вряд ли пакеты здесь подходят - речь идет не о разворачивании на новом чистом сервере, а о переодическом обновлении кода/контента на существующем.

dreamer ★★★★★ ()
Ответ на: комментарий от Snorg

Вполне нормально деплоил похапэ-проекты с помощью fabric. Было бы желание!

cheerfulboy ()
Ответ на: комментарий от dreamer

Все приличные пакетные менеджеры прекрасно умеют обновлять пакеты, не только их ставить. Я так деплоился на дебиан: на новый тег в svn срабатывает триггер, пробегаются тесты, собирается новый deb, в конце версии которого дописывается номер ревизии из svn, этот deb-пакет автоматически кладётся репозитарий, а веб-сервер тупо по крону делает apt-get update && apt-get install webprojectname. Наверняка можно сделать и красивее без крона.

Snorg ()

Универсального средства нет. Все зависит от типа проекта, критичности, инфраструктуры.

Если надо обновить хомяк на одном сервере, вариантов много. Многие уже озвучивали здесь. Я обычно пишу простенький phing скрипт, который таки делает svn export на сервере, исполняет скрипты для БД миграции и меняет симлинки на новые версии.

Когда обновления и даун-тайм критичны, появляется очень много новых проблем с синхронизацией на всех машинах и, скорее всего, придется изучать досконально fabric, capistrano и все в подобном роде. Деплоймент БД в промышленных масштабах это вообще все очень индивидуально и тяжело

BobiKK ()

capistrano. работает даже с пхп.

kelyar ★★★★★ ()

кстати, еще вопрос - как обычно деплоят БД?

В Yii для этого есть миграции. Если при разработке появляются данные - phing'а зачастую хватает, попробуйте. Не будет хватать - можно перелезть на capistrano.

bitfroster ★★ ()

кстати, еще вопрос - как обычно деплоят БД?

Когда будешь заниматься разработкой системы автодеплоинга базы, то имей ввиду, что например Yii тот-же умеет миграции в БД.

resurtm ★★★ ()

Capistrano мне по нраву.

Alve ★★★★★ ()

Phing попробуй, для похапэ самое оно. Можно конечно и на bash наваять, если охота собственный велик :)

one_quaker ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.