Выкладка на продакшн yii2 advanced
Выкладка на продакшн yii2 advanced
Создал приложение из шаблона advanced при помощи composer.
Сделал инит.
Перенёс фронтенд и бекенд в одну папку www.
Ипортировал в svn.
-----
Дальше надо деплоить на продакшн на 12 серверов.
----
Как деплою обычно:
svn export
Запаковал в архив.
Залил на все серверы.
Удаленно распаковал.
Переключил симлинки на толькочто распакованный код.
-----
Получается, что у меня в svn лежат кенфиги dev и включен дебаг, поэтому эта схема не подходит.
Как предполагается деплоить этот advanced шаблон?
Сделал инит.
Перенёс фронтенд и бекенд в одну папку www.
Ипортировал в svn.
-----
Дальше надо деплоить на продакшн на 12 серверов.
----
Как деплою обычно:
svn export
Запаковал в архив.
Залил на все серверы.
Удаленно распаковал.
Переключил симлинки на толькочто распакованный код.
-----
Получается, что у меня в svn лежат кенфиги dev и включен дебаг, поэтому эта схема не подходит.
Как предполагается деплоить этот advanced шаблон?
Re: Выкладка на продакшн yii2 advanced
svn? ну ок )
1. на сервере вытащили из репо
2. сделали init
3. настроили local-конфиги
4. composer install
1. на сервере вытащили из репо
2. сделали init
3. настроили local-конфиги
4. composer install
Re: Выкладка на продакшн yii2 advanced
Сорри хотел услышать мнения правильно ли я делаю
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 были отдельно от проекта.
Всем спасибо если есть варианты по улудшению пишпите
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 были отдельно от проекта.
Всем спасибо если есть варианты по улудшению пишпите
Re: Выкладка на продакшн yii2 advanced
в index.php такое:Получается, что у меня в svn лежат кенфиги dev и включен дебаг, поэтому эта схема не подходит.
Код: Выделить всё
// Если адрес с доменом .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');
}
Re: Выкладка на продакшн yii2 advanced
пишпю для улудшения: если вы делаете composer install, то почему yii2 в app?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 были отдельно от проекта.
Всем спасибо если есть варианты по улудшению пишпите
Re: Выкладка на продакшн yii2 advanced
для этого есть окруженияnorvele писал(а):в index.php такое:Получается, что у меня в svn лежат кенфиги dev и включен дебаг, поэтому эта схема не подходит.соответственно все конфиги завязаны на YII_ENV и YII_DEBUGКод: Выделить всё
// Если адрес с доменом .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'); }
Re: Выкладка на продакшн yii2 advanced
Это само собой. Подобный вариант ясен, но в advanced шаблоне сделали yii init с перезаписью шаблонов, хочется понять, как разработчики предполагали это использовать при выкладке на продакшн.norvele писал(а):в index.php такое:Получается, что у меня в svn лежат кенфиги dev и включен дебаг, поэтому эта схема не подходит.соответственно все конфиги завязаны на YII_ENV и YII_DEBUGКод: Выделить всё
// Если адрес с доменом .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'); }
Вариант с условием по окружению - ясен, вариант с подменой переменной в которой лежит путь до папки с конфигами тоже.
Тут происходит перезапись фпйлов конфигов, и вот как с этим работать, что предполагали разработчики?
Re: Выкладка на продакшн yii2 advanced
никакой перезаписи. инит разворачивает только локальные версии файлов - те, которые находятся в игноре у git/svn. Соответственно в локальных конфигах на деве у вас все включено для дебага, на проде - отключено.bettrrr писал(а):Это само собой. Подобный вариант ясен, но в advanced шаблоне сделали yii init с перезаписью шаблонов, хочется понять, как разработчики предполагали это использовать при выкладке на продакшн.norvele писал(а):в index.php такое:Получается, что у меня в svn лежат кенфиги dev и включен дебаг, поэтому эта схема не подходит.соответственно все конфиги завязаны на YII_ENV и YII_DEBUGКод: Выделить всё
// Если адрес с доменом .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'); }
Вариант с условием по окружению - ясен, вариант с подменой переменной в которой лежит путь до папки с конфигами тоже.
Тут происходит перезапись фпйлов конфигов, и вот как с этим работать, что предполагали разработчики?
Re: Выкладка на продакшн yii2 advanced
ну конечно происходит, если слушать глупые советы про переписывание index.php. а если работать с локальными конфигами, то ничего не происходит.bettrrr писал(а):Тут происходит перезапись фпйлов
Re: Выкладка на продакшн yii2 advanced
все сторонние разрешения при таком подходе погружаются через композер, а как в нем можно зафиксировать некоторые пакеты чтобы больше не обновлялись, или обновить только конкретные пакеты из своих репозитариев или откатить заданный пакет до предыдущего состояния?zelenin писал(а):svn? ну ок )
1. на сервере вытащили из репо
2. сделали init
3. настроили local-конфиги
4. composer install
Re: Выкладка на продакшн yii2 advanced
расширения.Lastik писал(а):разрешения
в настройках композера можно зафиксировать какую версию тянуть, из какой ветки и много другое. читайте доки композера.Lastik писал(а): все сторонние разрешения при таком подходе погружаются через композер, а как в нем можно зафиксировать некоторые пакеты чтобы больше не обновлялись, или обновить только конкретные пакеты из своих репозитариев или откатить заданный пакет до предыдущего состояния?
Re: Выкладка на продакшн yii2 advanced
на деве вы делаете composer update, обновляя все пакеты согласно composer.json (как там указать версии можно прочесть в доках). на проде вы делаете composer install, устанавливая пакеты согласно composer.lock (таким образом у вас установятся те же пакеты, что и на деве).Lastik писал(а):все сторонние разрешения при таком подходе погружаются через композер, а как в нем можно зафиксировать некоторые пакеты чтобы больше не обновлялись, или обновить только конкретные пакеты из своих репозитариев или откатить заданный пакет до предыдущего состояния?zelenin писал(а):svn? ну ок )
1. на сервере вытащили из репо
2. сделали init
3. настроили local-конфиги
4. composer install
Re: Выкладка на продакшн yii2 advanced
Папка app тянеться с репозитория с самим проектомzelenin писал(а):пишу для улудшения: если вы делаете composer install, то почему yii2 в app?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 были отдельно от проекта.
Всем спасибо если есть варианты по улудшению пишпите
Re: Выкладка на продакшн yii2 advanced
это не ответ на вопросSSDD писал(а):Папка app тянеться с репозитория с самим проектомzelenin писал(а):пишу для улудшения: если вы делаете composer install, то почему yii2 в app?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 были отдельно от проекта.
Всем спасибо если есть варианты по улудшению пишпите
Re: Выкладка на продакшн yii2 advanced
мм а как Вы предлогаете отделить папку .git от всего проекта ??? я для этого и создал папку апп чтоб .git был в ней а сам yii2 внитрий папки апп, если есть вариант клонировать не всю репозиторию а именно содержимое папки апп то пишите. За ранее спасибо за ответ
Re: Выкладка на продакшн yii2 advanced
я вообще вас не понимаю. причем тут папка .git? она у вас должна быть в корне. а yii2 вообще не должен присутствовать в репеSSDD писал(а):мм а как Вы предлогаете отделить папку .git от всего проекта ??? я для этого и создал папку апп чтоб .git был в ней а сам yii2 внитрий папки апп, если есть вариант клонировать не всю репозиторию а именно содержимое папки апп то пишите. За ранее спасибо за ответ
Re: Выкладка на продакшн yii2 advanced
в репозиторий установлениый yii2, frontend,common,backend, только нету папки vendorzelenin писал(а):я вообще вас не понимаю. причем тут папка .git? она у вас должна быть в корне. а yii2 вообще не должен присутствовать в репеSSDD писал(а):мм а как Вы предлогаете отделить папку .git от всего проекта ??? я для этого и создал папку апп чтоб .git был в ней а сам yii2 внитрий папки апп, если есть вариант клонировать не всю репозиторию а именно содержимое папки апп то пишите. За ранее спасибо за ответ
Re: Выкладка на продакшн yii2 advanced
зачем?SSDD писал(а):в репозиторий установлениый yii2
Re: Выкладка на продакшн yii2 advanced
сорри а где держать весь проект ?
Re: Выкладка на продакшн yii2 advanced
а каким боком проект к фреймворку?SSDD писал(а):сорри а где держать весь проект ?
фреймворк под композером, грузится в вендоры.