我正在尝试PHPFog作为主机,我真的很喜欢它的工作原理。
然而,我遇到了一个问题,我最近推出了一个项目。该项目包含一个子模块,PHPFog说它支持该子模块,但子模块是另一台服务器上的私有存储库 - 需要SSH用户和密码。 PHPFog显然不知道这一点,因此子模块更新和init肯定会失败。
在PHPFog上使用私有子模块是否有建议的解决方法?我可以以某种方式将子模块合并到超级项目本身并推动这种方式吗?或者我可以重新配置子模块以包含SSH登录信息,允许PHPfog成功初始化它吗?
编辑:作为一个快速修复:我克隆到临时目录,删除子模块中的git文件夹,并作为单个repo上传到phpFog。这不是我正在寻找的理想解决方案。答案 0 :(得分:1)
有一个新工具允许使用git子模块将应用程序推送到PHP Fog。正常的git推送将不再为您提取子模块,您的应用将无法部署。
请参阅:PHP Fog's PF CLI
要使用git子模块推送应用,请先设置帐户。
pf setup
列出您的应用以验证您的登录信息并获取要克隆的应用的ID。
pf list apps
使用pf工具克隆应用。 请务必备份现有的git文件夹。
pf clone <app_id> <folder>
以下是让子模块正常工作的关键:从现在开始,您必须使用 update
命令和而不是推送命令进行部署。
pf update
注意: pf setup命令将设置一个新的ssh密钥并自动为您上传。它还在ssh / config中为此创建了一个新别名。使用此工具后,您必须使用它来克隆您的应用程序,尽管您仍然使用git命令添加和提交更改。如果您使用的是git子模块,则必须使用pf update,git push会破坏您的应用程序。
答案 1 :(得分:0)
此时PHPFog不支持私有子模块。你可以使用像composer这样的东西在本地管理包,并将成品推送到PHPFog。