Выкладка на продакшн yii2 advanced

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
bettrrr
Сообщения: 38
Зарегистрирован: 2010.02.18, 20:58

Выкладка на продакшн yii2 advanced

Сообщение bettrrr »

Создал приложение из шаблона advanced при помощи composer.
Сделал инит.
Перенёс фронтенд и бекенд в одну папку www.
Ипортировал в svn.
-----
Дальше надо деплоить на продакшн на 12 серверов.
----
Как деплою обычно:
svn export
Запаковал в архив.
Залил на все серверы.
Удаленно распаковал.
Переключил симлинки на толькочто распакованный код.
-----
Получается, что у меня в svn лежат кенфиги dev и включен дебаг, поэтому эта схема не подходит.

Как предполагается деплоить этот advanced шаблон?
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Выкладка на продакшн yii2 advanced

Сообщение zelenin »

svn? ну ок )
1. на сервере вытащили из репо
2. сделали init
3. настроили local-конфиги
4. composer install
SSDD
Сообщения: 43
Зарегистрирован: 2013.11.06, 18:47

Re: Выкладка на продакшн yii2 advanced

Сообщение SSDD »

Сорри хотел услышать мнения правильно ли я делаю

1. Создаю репозиторию в bitbucket
2. На компе клонирую репозиторию, создаю папку app/ в нее устанавливаю yii2
3. Заливаю изменения в в репозиторию

4. На Vps клонирую репозиторию с bitbucket, делаю init, потом composer install,
5. Теперь у меня в vps есть папка public_html/app/ с самим проектом
6. Настрайваю documentRoot,

Дальше если есть изменения в проекте то делаю pull на vps.

p.s Папку app создаю чтобы фалы .git были отдельно от проекта.
Всем спасибо если есть варианты по улудшению пишпите :)
Аватара пользователя
norvele
Сообщения: 26
Зарегистрирован: 2013.12.05, 06:26
Откуда: Новосибирск

Re: Выкладка на продакшн yii2 advanced

Сообщение norvele »

Получается, что у меня в svn лежат кенфиги dev и включен дебаг, поэтому эта схема не подходит.
в index.php такое:

Код: Выделить всё

// Если адрес с доменом .local или порт указан и он не 80
// то сайт в DEV окружении
$location_regexp = "/(.+\.local)|(.+:(?!80$)\d+)/";
if (preg_match($location_regexp, $_SERVER['HTTP_HOST']))
{
    error_reporting(E_ALL ^ E_NOTICE);
    defined('YII_DEBUG') or define('YII_DEBUG', true);
    defined('YII_ENV') or define('YII_ENV', 'dev');
}
else
{
    error_reporting(0);
    define('YII_DEBUG', false);
    define('YII_ENV', 'prod');
}
 
соответственно все конфиги завязаны на YII_ENV и YII_DEBUG
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Выкладка на продакшн yii2 advanced

Сообщение zelenin »

SSDD писал(а):Сорри хотел услышать мнения правильно ли я делаю

1. Создаю репозиторию в bitbucket
2. На компе клонирую репозиторию, создаю папку app/ в нее устанавливаю yii2
3. Заливаю изменения в в репозиторию

4. На Vps клонирую репозиторию с bitbucket, делаю init, потом composer install,
5. Теперь у меня в vps есть папка public_html/app/ с самим проектом
6. Настрайваю documentRoot,

Дальше если есть изменения в проекте то делаю pull на vps.

p.s Папку app создаю чтобы фалы .git были отдельно от проекта.
Всем спасибо если есть варианты по улудшению пишпите :)
пишпю для улудшения: если вы делаете composer install, то почему yii2 в app?
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Выкладка на продакшн yii2 advanced

Сообщение zelenin »

norvele писал(а):
Получается, что у меня в svn лежат кенфиги dev и включен дебаг, поэтому эта схема не подходит.
в index.php такое:

Код: Выделить всё

// Если адрес с доменом .local или порт указан и он не 80
// то сайт в DEV окружении
$location_regexp = "/(.+\.local)|(.+:(?!80$)\d+)/";
if (preg_match($location_regexp, $_SERVER['HTTP_HOST']))
{
    error_reporting(E_ALL ^ E_NOTICE);
    defined('YII_DEBUG') or define('YII_DEBUG', true);
    defined('YII_ENV') or define('YII_ENV', 'dev');
}
else
{
    error_reporting(0);
    define('YII_DEBUG', false);
    define('YII_ENV', 'prod');
}
соответственно все конфиги завязаны на YII_ENV и YII_DEBUG
для этого есть окружения
bettrrr
Сообщения: 38
Зарегистрирован: 2010.02.18, 20:58

Re: Выкладка на продакшн yii2 advanced

Сообщение bettrrr »

norvele писал(а):
Получается, что у меня в svn лежат кенфиги dev и включен дебаг, поэтому эта схема не подходит.
в index.php такое:

Код: Выделить всё

// Если адрес с доменом .local или порт указан и он не 80
// то сайт в DEV окружении
$location_regexp = "/(.+\.local)|(.+:(?!80$)\d+)/";
if (preg_match($location_regexp, $_SERVER['HTTP_HOST']))
{
    error_reporting(E_ALL ^ E_NOTICE);
    defined('YII_DEBUG') or define('YII_DEBUG', true);
    defined('YII_ENV') or define('YII_ENV', 'dev');
}
else
{
    error_reporting(0);
    define('YII_DEBUG', false);
    define('YII_ENV', 'prod');
}
соответственно все конфиги завязаны на YII_ENV и YII_DEBUG
Это само собой. Подобный вариант ясен, но в advanced шаблоне сделали yii init с перезаписью шаблонов, хочется понять, как разработчики предполагали это использовать при выкладке на продакшн.

Вариант с условием по окружению - ясен, вариант с подменой переменной в которой лежит путь до папки с конфигами тоже.
Тут происходит перезапись фпйлов конфигов, и вот как с этим работать, что предполагали разработчики?
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Выкладка на продакшн yii2 advanced

Сообщение zelenin »

bettrrr писал(а):
norvele писал(а):
Получается, что у меня в svn лежат кенфиги dev и включен дебаг, поэтому эта схема не подходит.
в index.php такое:

Код: Выделить всё

// Если адрес с доменом .local или порт указан и он не 80
// то сайт в DEV окружении
$location_regexp = "/(.+\.local)|(.+:(?!80$)\d+)/";
if (preg_match($location_regexp, $_SERVER['HTTP_HOST']))
{
    error_reporting(E_ALL ^ E_NOTICE);
    defined('YII_DEBUG') or define('YII_DEBUG', true);
    defined('YII_ENV') or define('YII_ENV', 'dev');
}
else
{
    error_reporting(0);
    define('YII_DEBUG', false);
    define('YII_ENV', 'prod');
}
 
соответственно все конфиги завязаны на YII_ENV и YII_DEBUG
Это само собой. Подобный вариант ясен, но в advanced шаблоне сделали yii init с перезаписью шаблонов, хочется понять, как разработчики предполагали это использовать при выкладке на продакшн.

Вариант с условием по окружению - ясен, вариант с подменой переменной в которой лежит путь до папки с конфигами тоже.
Тут происходит перезапись фпйлов конфигов, и вот как с этим работать, что предполагали разработчики?
никакой перезаписи. инит разворачивает только локальные версии файлов - те, которые находятся в игноре у git/svn. Соответственно в локальных конфигах на деве у вас все включено для дебага, на проде - отключено.
Demon_id
Сообщения: 421
Зарегистрирован: 2011.10.29, 00:13

Re: Выкладка на продакшн yii2 advanced

Сообщение Demon_id »

bettrrr писал(а):Тут происходит перезапись фпйлов
ну конечно происходит, если слушать глупые советы про переписывание index.php. а если работать с локальными конфигами, то ничего не происходит.
Lastik
Сообщения: 16
Зарегистрирован: 2015.01.14, 17:20

Re: Выкладка на продакшн yii2 advanced

Сообщение Lastik »

zelenin писал(а):svn? ну ок )
1. на сервере вытащили из репо
2. сделали init
3. настроили local-конфиги
4. composer install
все сторонние разрешения при таком подходе погружаются через композер, а как в нем можно зафиксировать некоторые пакеты чтобы больше не обновлялись, или обновить только конкретные пакеты из своих репозитариев или откатить заданный пакет до предыдущего состояния?
Demon_id
Сообщения: 421
Зарегистрирован: 2011.10.29, 00:13

Re: Выкладка на продакшн yii2 advanced

Сообщение Demon_id »

Lastik писал(а):разрешения
расширения.
Lastik писал(а): все сторонние разрешения при таком подходе погружаются через композер, а как в нем можно зафиксировать некоторые пакеты чтобы больше не обновлялись, или обновить только конкретные пакеты из своих репозитариев или откатить заданный пакет до предыдущего состояния?
в настройках композера можно зафиксировать какую версию тянуть, из какой ветки и много другое. читайте доки композера.
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Выкладка на продакшн yii2 advanced

Сообщение zelenin »

Lastik писал(а):
zelenin писал(а):svn? ну ок )
1. на сервере вытащили из репо
2. сделали init
3. настроили local-конфиги
4. composer install
все сторонние разрешения при таком подходе погружаются через композер, а как в нем можно зафиксировать некоторые пакеты чтобы больше не обновлялись, или обновить только конкретные пакеты из своих репозитариев или откатить заданный пакет до предыдущего состояния?
на деве вы делаете composer update, обновляя все пакеты согласно composer.json (как там указать версии можно прочесть в доках). на проде вы делаете composer install, устанавливая пакеты согласно composer.lock (таким образом у вас установятся те же пакеты, что и на деве).
SSDD
Сообщения: 43
Зарегистрирован: 2013.11.06, 18:47

Re: Выкладка на продакшн yii2 advanced

Сообщение SSDD »

zelenin писал(а):
SSDD писал(а):Сорри хотел услышать мнения правильно ли я делаю

1. Создаю репозиторию в bitbucket
2. На компе клонирую репозиторию, создаю папку app/ в нее устанавливаю yii2
3. Заливаю изменения в в репозиторию

4. На Vps клонирую репозиторию с bitbucket, делаю init, потом composer install,
5. Теперь у меня в vps есть папка public_html/app/ с самим проектом
6. Настрайваю documentRoot,

Дальше если есть изменения в проекте то делаю pull на vps.

p.s Папку app создаю чтобы фалы .git были отдельно от проекта.
Всем спасибо если есть варианты по улудшению пишпите :)
пишу для улудшения: если вы делаете composer install, то почему yii2 в app?
Папка app тянеться с репозитория с самим проектом
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Выкладка на продакшн yii2 advanced

Сообщение zelenin »

SSDD писал(а):
zelenin писал(а):
SSDD писал(а):Сорри хотел услышать мнения правильно ли я делаю

1. Создаю репозиторию в bitbucket
2. На компе клонирую репозиторию, создаю папку app/ в нее устанавливаю yii2
3. Заливаю изменения в в репозиторию

4. На Vps клонирую репозиторию с bitbucket, делаю init, потом composer install,
5. Теперь у меня в vps есть папка public_html/app/ с самим проектом
6. Настрайваю documentRoot,

Дальше если есть изменения в проекте то делаю pull на vps.

p.s Папку app создаю чтобы фалы .git были отдельно от проекта.
Всем спасибо если есть варианты по улудшению пишпите :)
пишу для улудшения: если вы делаете composer install, то почему yii2 в app?
Папка app тянеться с репозитория с самим проектом
это не ответ на вопрос
SSDD
Сообщения: 43
Зарегистрирован: 2013.11.06, 18:47

Re: Выкладка на продакшн yii2 advanced

Сообщение SSDD »

мм а как Вы предлогаете отделить папку .git от всего проекта ??? я для этого и создал папку апп чтоб .git был в ней а сам yii2 внитрий папки апп, если есть вариант клонировать не всю репозиторию а именно содержимое папки апп то пишите. За ранее спасибо за ответ
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Выкладка на продакшн yii2 advanced

Сообщение zelenin »

SSDD писал(а):мм а как Вы предлогаете отделить папку .git от всего проекта ??? я для этого и создал папку апп чтоб .git был в ней а сам yii2 внитрий папки апп, если есть вариант клонировать не всю репозиторию а именно содержимое папки апп то пишите. За ранее спасибо за ответ
я вообще вас не понимаю. причем тут папка .git? она у вас должна быть в корне. а yii2 вообще не должен присутствовать в репе
SSDD
Сообщения: 43
Зарегистрирован: 2013.11.06, 18:47

Re: Выкладка на продакшн yii2 advanced

Сообщение SSDD »

zelenin писал(а):
SSDD писал(а):мм а как Вы предлогаете отделить папку .git от всего проекта ??? я для этого и создал папку апп чтоб .git был в ней а сам yii2 внитрий папки апп, если есть вариант клонировать не всю репозиторию а именно содержимое папки апп то пишите. За ранее спасибо за ответ
я вообще вас не понимаю. причем тут папка .git? она у вас должна быть в корне. а yii2 вообще не должен присутствовать в репе
в репозиторий установлениый yii2, frontend,common,backend, только нету папки vendor
Demon_id
Сообщения: 421
Зарегистрирован: 2011.10.29, 00:13

Re: Выкладка на продакшн yii2 advanced

Сообщение Demon_id »

SSDD писал(а):в репозиторий установлениый yii2
зачем?
SSDD
Сообщения: 43
Зарегистрирован: 2013.11.06, 18:47

Re: Выкладка на продакшн yii2 advanced

Сообщение SSDD »

сорри а где держать весь проект ?
Demon_id
Сообщения: 421
Зарегистрирован: 2011.10.29, 00:13

Re: Выкладка на продакшн yii2 advanced

Сообщение Demon_id »

SSDD писал(а):сорри а где держать весь проект ?
а каким боком проект к фреймворку?
фреймворк под композером, грузится в вендоры.
Ответить