GIT, частные подмодули и PHPFog
Я пытаюсь PHPFog в качестве хоста, и мне очень нравится, как он работает.
Однако у меня возникла проблема с недавним проектом, который я продвинул. Проект содержит подмодуль, который, по словам PHPFog, поддерживает, однако подмодуль является частным репозиторием на другом сервере, для которого требуются имя пользователя и пароль SSH. Очевидно, что PHPFog этого не знает, поэтому обновление и инициализация субмодуля, по-видимому, завершаются неудачей.
Есть ли рекомендуемый способ использования закрытых подмодулей в PHPFog? Можно ли как-то объединить субмодуль с самим суперпроектом и протолкнуть его? Или я могу перенастроить субмодуль, включив в него информацию для входа в SSH, что позволит PHPfog успешно его инициализировать?
РЕДАКТИРОВАТЬ: В качестве быстрого исправления: я клонировал во временный каталог, удалил папки git в подмодуле и загрузил в виде одного репо в phpFog. Это не идеальное решение, которое я ищу.
2 ответа
Существует новый инструмент, позволяющий помещать приложения с подмодулями git в PHP Fog. Обычные git pushes больше не будут получать субмодули для вас, и ваше приложение не сможет развернуться.
Смотрите: PHP Fog's PF CLI
Чтобы загрузить приложение с подмодулями git, сначала настройте свою учетную запись.
pf setup
Перечислите свои приложения, чтобы подтвердить, что вы вошли в систему, и получите идентификатор приложения для клонирования.
pf list apps
Клонируйте приложение, используя инструмент pf. Обязательно сделайте резервную копию существующей папки git.
pf clone <app_id> <folder>
Вот ключ к тому, чтобы заставить работать подмодули: Вы должны использовать update
команда, а не команда push отныне для развертывания.
pf update
Примечания: Команда pf setup установит новый ключ ssh и автоматически загрузит его для вас. Для этого также создается новый псевдоним в ssh / config. После использования этого инструмента вы должны использовать его для клонирования своих приложений, хотя вы все еще используете команды git для добавления и фиксации изменений. Если вы используете подмодули git, вы должны использовать обновление pf, git push сломает ваше приложение.
В настоящее время PHPFog не поддерживает частные подмодули. Вы можете использовать что-то вроде composer для локального управления пакетом и отправки готового продукта в PHPFog.