symfony project publication

29
Публикация symfony проекта в web и его обновление Alex Demchenko [email protected] I love Symfony for 2+ years

Upload: alex-demchenko

Post on 20-Jun-2015

2.373 views

Category:

Self Improvement


0 download

DESCRIPTION

Публикация symfony проекта в web и его обновление

TRANSCRIPT

Page 1: Symfony Project Publication

Публикация symfony проекта в webи его обновление

Alex [email protected] love Symfony for 2+ years

Page 2: Symfony Project Publication

['UA camp']

Кто я ? Люблю symfony уже 2+ года

Team lead of Lazy Ants (web2.0services.de)

Page 3: Symfony Project Publication

['UA camp']

О чем поговорим? Как залить и заставить работать свой проект в web Как обновлять проект

Page 4: Symfony Project Publication

['UA camp']

Хостинг

выделенный сервер вирутальный сервер

Шаред

Page 5: Symfony Project Publication

['UA camp']

Шаред хостиг

у нас нет ни pear ни тем более command-line

Что делать?

Page 6: Symfony Project Publication

['UA camp']

Инструменты

Шаред хост с php5 Доступ по FTP Работающий проект на локальной машине

Page 7: Symfony Project Publication

['UA camp']

Пример директорий на хостере

//stats/logs/html (httpdocs, public_html, наш document_root)и тд. ...

Page 8: Symfony Project Publication

['UA camp'] Что должно получиться на выходе

Вариант РАЗ Вариант ДВА//html/myproject /apps … /lib /symfony … /web /sf

//html/pear_libs /symfony /data /symfony/projects /myproject /apps

Page 9: Symfony Project Publication

['UA camp']

Вариант РАЗ

Пакуем symfony (все либы копируется в проект)

- php symfony freeze - либо берем подготовленые либы из symfony sf_sandbox_1_2 (/lib/symfony)

Page 10: Symfony Project Publication

['UA camp']

Загружаем все на хост

Загружаем наш проект без папки WEB

локально хостингmyproject /mypoject

… /lib /symfony …

Page 11: Symfony Project Publication

['UA camp']

Загружаем все на хост

Загружаем папку WEB в наш webroot

локально хостингmyproject/web /html

… /sf

Page 12: Symfony Project Publication

['UA camp']

Последние приготовления шаманим в ProjectConfiguration.class.php

<?php

require_once dirname(__FILE__) . '/../lib/symfony/autoload/sfCoreAutoload.class.php';

sfCoreAutoload::register();

class ProjectConfiguration extends sfProjectConfiguration{ public function setup() { }}

Page 13: Symfony Project Publication

['UA camp']

Symfony cache и log — права на запись

/myproject/cache /myproject/log

Page 14: Symfony Project Publication

['UA camp']

Шаред с мультидоменами

Загружаем symfony

локально хостинг%PEAR_DIR%/symfony

%PEAR_DIR%/data/symfony

/pear_libs/symfony

/pear_libs/data/symfony

Page 15: Symfony Project Publication

['UA camp']

makesymlink.php<?php/* Перед выполнением установите права на папку web для записи, а после того как создадите линк, верните прежние права.*/$rootdir = realpath(dirname(__FILE__).'/..');$webdir = realpath(dirname(__FILE__));symlink($rootdir.'/pear_libs/data/symfony/web/sf', $webdir.'/sf');?>

Page 16: Symfony Project Publication

['UA camp']

Символическая ссылка для symfony

target linkpear_libs/symfony projects/myproject/lib/symfony

Page 17: Symfony Project Publication

['UA camp']

makesymlink_symfony.php<?php$rootdir = realpath(dirname(__FILE__).'/..');/*Перед выполнением установите права на папку web для записи, а после того как создадите линк, верните прежние права.---------------------------------------------------------------/projects/myproject/lib

*/// symfony_lib symlink($rootdir.'/pear_libs/data/symfony', $rootdir.'/projects/myproject/data/symfony');

Page 18: Symfony Project Publication

['UA camp']

Как обновлять?

Page 19: Symfony Project Publication

['UA camp']

Subversion / TurtoiseSVN экспорт измененных файлов между двумя

ревизиями

у

http://tigor.com.ua/blog/2009/02/24/windows-subversion-tortoisesvn-compare-two-versions-of-a-repository/

Page 20: Symfony Project Publication

['UA camp']

Копи — Паст

рулит

:)

Page 21: Symfony Project Publication

['UA camp']

Вы обладатель выделенного или виртуального сервера?

У вас нет этих сложностей и вы можете использовать возможности svn на полную

svn updatesvn export

Page 22: Symfony Project Publication

['UA camp']

Работа с dev и prod серверами

• commit в svn• update (export) на dev server• testing на dev server• export на prod server

Page 23: Symfony Project Publication

['UA camp']

Обновляем базу данных

Плагин для получения sql diff файлов между schema.yml и базой данных

SfPropelSqlDiffPlugin

Page 24: Symfony Project Publication

['UA camp']

Команды SfPropelSqlDiffPluginПосле изменения shema.yml> php symfony propel:build-sql-diffРезультат лежит в data/sql/propel.diff.sql

Добавляем в базу propel.diff.sql> php symfony propel:insert-sql-diff

Выполняем предыдущие операции одной строкой> php symfony propel:build-all-diff

Page 25: Symfony Project Publication

['UA camp']

Как же быть с cli?

Ставим sfWebCliPlugin

Page 26: Symfony Project Publication

['UA camp']

Symfony и шаред хостинг с cpanel

http://www.weblincs.co.uk/symfony-framework-cPanel-shared-hosting.html

Page 27: Symfony Project Publication

['UA camp']

Шаред хостинг для symfonyServerGrove — предлагает утилиту Maestro

http://servergrove.com/symfonyhosting

Что может: Загрузка, установка вашего проекта на symfony Управление конфигурацией сервера apache Просмотр логов с помощью Ajax сразу в броузере Веб cli интерфейс Улучшенные требования по безопасности к symfony проектам

Page 28: Symfony Project Publication

['UA camp']

Спасибо за внимание

Page 29: Symfony Project Publication

['UA camp']

Alex Demchenko

[email protected]

http://web2.0services.dehttp://lazy-ants.de