Не совсем понимаю yii-app-advanced. Вот я на локальной машине выполнил ./init dev, настроил скопированные из папки envinroment *-local конфиги. Всё работает, ОК.
При деплое проекта, мне нужно выполнить git pull, composer install, ./init prod. Соответственно конфиги все будут пустые. Так откуда мне копировать боевые local-конфиги? Где их хранить, чтобы удобно было бы еще и с локальной машины их править.
Прям как про танки или самолёты...
Локальные конфигурационные файлы руками перемещаете. init выполнять не надо. На рабочем сервере сделайте composer update
Так же руками поменяете с dev на prod в forntend/web/index.php и backend/web/index.php
Локальные конфиги и index.php занесите в gitignor
Как делаю я (окружение локально +/- такое же как на сервере, ОС не принципиально, но желательно):
1. Через composer создаю проект локально
2. init dev
3. Делаю все что надо, если в конфигах появляются новые секции/параметры добавляю их в environment файлах (dev и prod, если опять разворачивать с нуля или на продакшене)
4. git commit/git push в свой репозиторий
5. На проде git pull из репы и composer install (именно install, а не update! почитайте про разницу. с именованием налажали они, это и путает людей).
6. Проставляю права на нужные папки типа runtime/assets
7. init prod и заполняем файлы конфигурации на сервере ручками!
Дальше уже git push/git pull в рабочем режиме. Конфиги и index.php находятся под git ignore по умолчанию и не перетираются.
Из неудобств - при добавлении новых параметров в конфигах придется добавлять ручками их на сервере.
Второй вариант: .env файлы. Гораздо удобней, но кому как!
OnYourLips, *-local.php и два index.php всё равно в gitignore находятся, по умолчанию. Поэтому руками.
Зачем init на рабочем сервере?
Так же директория vendor, она никуда не передаётся, на рабочем через composer восстанавливается.
Смотря как деплоить. Если по простому (git push/pull), то 1 раз сделать ./init prod, заполнить конфиги и всё.
А вот если делать полный билд со скачиванием всего git-проекта, установкой зависимостей, переключением симлинка, то, как я понимаю, эти уже настроенные конфиги надо где-то хранить отдельно от проекта на проде, и при билде копировать их в проект.
PS: Вообще, в Yii всё коряво сделано с этими local-файлами, аж бесит. В нормальных фреймах типа лары по дефолту один .env файл и всё.
PPS: Если честно я вообще не понимаю, зачем init нужен в принципе. Просто копирует шаблон конфигов и всё. Можно и руками сделать.