在多个构建中保存编写器依赖的最佳方法是什么?



我目前正在使用atlassian bamboo构建服务器(基于云,使用aws),并有一个初始任务,只是做一个作曲家安装。

这个单一的任务可能会花费相当多的时间,当开发人员多次提交构建服务器4构建所有下载依赖项(这些不是并行的)时,这可能是一个痛苦。

我希望加快这个过程,但无法找出一种方法,其中保存依赖关系到一个共同的位置,以跨多个构建使用,仍然允许应用程序按预期运行(laravel)

答案

composer.lock.gitignore中移除


解释

当你第一次运行compose install时,composer必须检查你所有的依赖项(以及它们的依赖项等)或兼容性。遍历整个依赖树是非常昂贵的,这就是为什么它需要这么长时间。

在计算出所有的依赖项之后,composer将它使用的确切版本写入composer.lock文件,以便随后的composer install命令不必花费那么多时间运行整个图。

如果你提交你的composer.lock文件,它会出现在你的竹服务器上。composer install命令将waaaayy更快。


无论如何,提交composer.lock都是最佳实践。引用文档:

将应用程序的composer.lock(连同composer.json)提交到版本控制。

这很重要,因为install命令检查是否存在锁文件,如果存在,它就下载那里指定的版本(不管composer.json说什么)。

这意味着任何安装项目的人都将下载依赖项的完全相同的版本。您的CI服务器、生产机器、团队中的其他开发人员,以及所有东西和每个人都运行在相同的依赖项上,这减少了仅影响部署的某些部分的bug的可能性。

相关内容

  • 没有找到相关文章

最新更新