【发布时间】:2016-06-17 10:02:53
【问题描述】:
我现在正在开发 Laravel webapp,到目前为止,vendor 目录远离 git(版本控制),每次全新安装时,我都会将 composer install 命令添加到自动化脚本中,一切都很好。
现在就在两天前,我在我的项目中添加了 laravelcollective (https://laravelcollective.com/),以帮助我在刀片模板中使用表单和 html。现在不知何故,其中一个依赖项要求我生成 GIT 私有令牌来安装它,这很痛苦,因为它会损害我的自动化。我仍然可以通过调用 url 并报废 html 来读取令牌和类似的东西来破解它,但我不喜欢它。然后我认为将vendor 目录保留在SVN/GIT 之外是个好主意吗?产品的源代码不是包含其自身的所有依赖项吗?我不是在谈论在安装程序中填充 JRE,而是在涉及使用本地语言的产品库时。
我想了解更多有关行业标准或最佳实践的信息。
附注: 这个问题非常笼统,不仅限于 laravel 甚至 php。
【问题讨论】:
-
“产品的源代码不是包含了所有的依赖关系吗?” - 列出了所有依赖项,使用您的代码的人会知道需要什么,当人们可以通过运行
composer update获得相同的代码时,无需在版本控制中添加大量额外代码 -
composer 有它的好处,但是当您尝试自动化构建过程并遇到一些需要您生成访问令牌的库/插件时,解决方案是什么?
-
我从来没有遇到过,你说的是什么库?
-
没有理由不能生成 Github(不是 Git)令牌并将其放入您的构建自动化脚本/流程中。我们在我的工作中就是这样做的。
-
请参阅部署密钥 developer.github.com/guides/managing-deploy-keys 和为命令行使用创建访问令牌 help.github.com/articles/… 将满足您的需求 :)
标签: php laravel composer-php