2015-02-22 3 views
3

Мое текущее приложение Rails разделено на 2 папки.dokku - Run Rails 4 приложение из подпапки

/base 
/app 

С основанием быть ссылки в приложение с помощью следующей строки в моем Gemfile

gem 'base', path: "../base" 

Я пытаюсь мерзавец развернуть этот репозиторий Докку - однако это не удается, и я предполагаю, что это из-за Докку не в состоянии определить правильный buildpack, как это только смотрит в корень, чтобы определить тип приложения и т.д.

фрагмент из Докку следа:

remote: + DOCKER_ARGS+= 
remote: ++ docker run -d -v /home/dokku/sws/cache:/cache -e CACHE_PATH=/cache dokku/sws /build/builder 
remote: + id=2439409a62c2da4c32086149ad404dd4c6ec974e83aa7fe0d8e06d092396b69f 
remote: + docker attach 2439409a62c2da4c32086149ad404dd4c6ec974e83aa7fe0d8e06d092396b69f 
-----> Unable to select a buildpack 
remote: + exit_code=1 
remote: + set -e 

Я попытался использовать config.ru, как указано в Deploy a subdirectory to Heroku, имея дело с той же проблемой на Heroku, но это, похоже, не работает.

Любые мысли?

ответ

1

Я столкнулся с аналогичной проблемой с моим приложением Node.js, где у меня есть репозиторий с несколькими папками и только один, содержащий Dokku-приложение. Я понял следующее безвкусного решения в виде Баша-скрипт:

#!/bin/bash 

git init 
git add . --all 
git commit -m "dokku deploy" 
git remote add dokku [dokkuserver] 
git push dokku master 
rm -rf .git 

Я просто запустить этот скрипт из папки моего приложения. Он создает репозиторий ad hoc git, подталкивает его к Dokku, а затем удаляет локальный репозиторий. Причина, по которой я сказал, что это было неэлегантным решением, заключалась в том, что я знаю, что это можно сделать с помощью магии из подпапки Git из верхней папки (мой коллега сделал это некоторое время назад), но у меня не было времени, чтобы понять это. Кто-то с более Git fu может помочь с этим.

Смежные вопросы