我目前正在使用atlassian bamboo构建服务器(基于云,使用aws)并且有一个初始任务,只需要安装作曲家。
这个单一任务可能需要相当多的时间,当开发人员多次提交给构建服务器4构建所有下载依赖项(这些不是并行的)时,这可能会很痛苦。
我希望加快这个过程,但是能够找到一种方法,将依赖项保存到一个公共位置,以便在多个构建中使用,这仍然允许应用程序按预期运行(laravel)
答案 0 :(得分:3)
从composer.lock
.gitignore
第一次运行compose install
时,作曲家必须检查所有依赖项(及其依赖项等)或兼容性。贯穿整个依赖树是非常昂贵的,这就是为什么需要这么长时间。
在找出所有依赖项之后,composer会将其使用的确切版本写入composer.lock
文件,以便后续的composer install
命令不必花费那么多时间来运行整个图形。
如果您提交了composer.lock
文件,它将会出现在您的竹子服务器上。 composer install
命令将 waaaayy 更快。
无论如何,提交composer.lock
都是最佳做法。引用the docs:
将您的应用
composer.lock
(以及composer.json
)提交到版本控制中。这很重要,因为
install
命令会检查锁文件是否存在,如果存在,则会下载其中指定的版本(无论composer.json
说什么)。这意味着设置项目的任何人都将下载相同版本的依赖项。您的CI服务器,生产计算机,团队中的其他开发人员,所有人和每个人都运行相同的依赖关系,从而减少了仅影响部署部分的错误的可能性。