2012-01-28 2 views
2

Я пытаюсь PHPFog как хост, и мне очень нравится, как он работает.GIT, Private Submodules и PHPFog

У меня возникла проблема, однако, с недавним проектом, который я нажал. Проект содержит подмодуль, который PHPFog говорит, что он поддерживает, однако подмодуль является частным репозиторием на другом сервере, требующим пользователя SSH и пароль. PHPFog, очевидно, этого не знает, поэтому обновление подмодуля и init предположительно терпят неудачу.

Есть ли рекомендуемое обходное решение для использования частных подмодулей на PHPFog? Могу ли я каким-то образом объединить подмодуль в сам суперпроект и подтолкнуть его? Или я могу перенастроить подмодуль, чтобы включить регистрационную информацию SSH, позволяя PHPfog успешно инициализировать его?

EDIT: В качестве быстрого исправления: я клонировал в временную директорию, удалял папки git в подмодуле и загружался как одно репо в phpFog. Это не идеальное решение, которое я ищу.

+0

Сценарий оболочки для автоматизации quickfix: https://github.com/swt83/sh-fog/ – swt83

ответ

1

Существует новый инструмент, который позволяет нажимать приложения с git-подмодулями на PHP Fog. Обычные git push больше не будут получать подмодули для вас, и ваше приложение не сможет развернуть.

См: PHP Fog's PF CLI

Чтобы вытолкнуть приложение с GIT подмодулями первой настройки вашей учетной записи.

pf setup 

Зарегистрируйте ваше приложение, чтобы подтвердить свою регистрацию и получить идентификатор приложения для клонирования.

pf list apps 

Клонировать приложение, используя инструмент pf. Обязательно создайте резервную копию существующей папки git.

pf clone <app_id> <folder> 

Вот ключ к получению подмодулей работы: Вы должны использовать в update команду и не команды толчка теперь развернуть.

pf update 

Примечания: Команда установки пф будет установка нового ключа SSH и автоматически загрузить его для вас. Он также создает новый псевдоним в ssh/config для этого. После использования этого инструмента вы должны использовать его для клонирования ваших приложений, хотя вы все еще используете команды git для добавления и фиксации изменений. Если вы используете подмодули git, вам нужно использовать обновление pf, git push нарушит ваше приложение.

+0

У вас есть мнение о том, что я думаю, это аддон поддерева git? Кажется, работает аналогично подмодулям, но с различным синтаксисом. https://github.com/apenwarr/git-subtree – swt83

+0

Кроме того, похоже, что знакомый человек может написать сценарий оболочки для выполнения процесса, который я использовал, - клонирование, слияние подмодулей, фиксацию, push и удаление. – swt83

+0

Я не видел git-поддерева, но похоже, что это стоит того. У меня есть внутренняя информация о том, что PHPFog сильно опирается на рекомендации пользователям использовать Composer. Вы можете создать манифест composer.json, который ссылается на частное репо, а затем запускает 'composer.phar update', чтобы вносить изменения. см. http: // packagist.орг/о-композитор –

0

В настоящее время PHPFog не поддерживает частные подмодули. Вы можете использовать что-то вроде композитора для управления локальным пакетом и нажимать готовый продукт на PHPFog.

+0

+1 для рекомендации [https://github.com/composer/composer] –

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