Я использую Capifony (v2.15.5) для развертывания своего приложения Symfony (2.6.5) на удаленном сервере. Я использую стратегию развертывания "a)", при которой изменения передаются в Git, а затем при развертывании сервер клонируется репозиторий для предоставления последних файлов приложений. До недавнего времени у меня это работало нормально, но я внес изменения в структуру своего репо, и теперь это не так.
В частности, раньше было так: корень проекта Symfony такой же, как корень Git:
[root]
app/
src/
web/
Но теперь это так, корень проекта Symfony является дочерним корнем Git:
[root]
dbscripts/
docs/
webapp/
app/
src/
web/
Неудивительно, что это доставляет Capifony некоторые проблемы, но я думал, что можно будет настроить выход, но пока не повезло.
Вот некоторые из моих файлов deploy.rb:
set :app_path, "webapp/app"
set :repository, "ssh://[repodetails]"
set :scm, :git
set :shared_files, [app_path+"/config/parameters.yml"]
set :shared_children, [app_path + "/logs", "webapp/vendor"]
set :use_composer, true
Как видите, я попытался отразить новый корень Symfony в конфиге, и это меня пока завело, но в настоящее время мои развертывания терпят неудачу на этапе Composer, потому что он выполняет команду установки в корне Git, что не 't где composer.json
и composer.lock
.
Я нашел здесь очень похожий вопрос: Переопределенный корневой проект symfony. Там не так много деталей, и ему 3 года, поэтому я подумал, что его стоит пересмотреть.
Я потенциально могу вернуть его в прежнее состояние и, возможно, сохранить некоторое подобие старой структуры, используя подмодули Git (хотя для меня это новая территория). Но мой вопрос: можно ли настроить Capifony для правильной работы с корнем Symfony, а не с корнем Git; если да, то как; если нет, то какой лучший способ обойти это.
Заранее спасибо!