我们在AWS Beanstalk应用程序上使用Symfony2。对于部署,我们调整了Deployment-Script在应用程序上传后执行作曲家安装。Symfony2,AWS Beanstalk:如何将供应商推送为不是git子模块的文件来回购
尽管这在理论上有效,但它有一些缺点 - 主要是不断增加的部署时间(有时会导致服务器超时)并增加对其他服务器可用性的依赖性。
我读过一些人将vendor/*
复制到tmp-dir,并在部署到speed-up the deployment后将其移回。
这很有帮助,但我们经常更新我们的composer.json
,所以我们仍然必须在我们的部署过程中安装作曲家安装。我们认为最好的方法是在部署期间将所有依赖关系(vendor/*
)作为文件包含在回购中并跳过作曲家安装。
不幸的是,大多数库都作为git子模块包含在内,AWS不支持子模块(所有文件都必须位于repo中)。
所以在这里我的问题是:
什么是去除所有的混帐子模块,并提交真实的文件,而不是最好的方法是什么?
我曾尝试结合:
git submodules --recursive foreach
与How do I remove a submodule?但没有更迭。