我們在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?但沒有更迭。