如何在多个 Github 托管项目中更新自定义作曲家包?
How to update a custom composer package across many Github hosted projects?
我开发了一个包含在许多 Github 回购 Laravel 项目中的作曲家包。它设置为特定版本,但即使我稍微宽松一点并将补丁版本设置为补丁版本的星号我仍然需要在需要该包的项目中 运行 一个 composer update
这样当 运行ning composer install
在服务器上时,它会安装正确的版本。
我面临的问题是,当我发布一个新的包版本时,我必须在本地 运行 composer update
,比如说 15 个项目每个 15 次,然后提交所有 15 个,并为所有 15 个等打开拉取请求,使过程非常缓慢。
有没有更好的方法来处理 composer update
,也许我需要开发一个小的 CLI 应用程序来与 Github api 通信以打开 PR 并合并它们?
您所描述的正是预期和打算发生的事情。具有已提交锁定文件的完整项目应该安装锁定版本,除非更新。
你可以使用 this composer update action to run regularly and create commits when necessary, or work with the GitHub provided Dependabot.
但是,如果这没有与强大的测试套件和微调的版本约束相结合,您最终可能会破坏已经在运行的项目,因为某些随机依赖项会引入意外的行为变化。
我开发了一个包含在许多 Github 回购 Laravel 项目中的作曲家包。它设置为特定版本,但即使我稍微宽松一点并将补丁版本设置为补丁版本的星号我仍然需要在需要该包的项目中 运行 一个 composer update
这样当 运行ning composer install
在服务器上时,它会安装正确的版本。
我面临的问题是,当我发布一个新的包版本时,我必须在本地 运行 composer update
,比如说 15 个项目每个 15 次,然后提交所有 15 个,并为所有 15 个等打开拉取请求,使过程非常缓慢。
有没有更好的方法来处理 composer update
,也许我需要开发一个小的 CLI 应用程序来与 Github api 通信以打开 PR 并合并它们?
您所描述的正是预期和打算发生的事情。具有已提交锁定文件的完整项目应该安装锁定版本,除非更新。
你可以使用 this composer update action to run regularly and create commits when necessary, or work with the GitHub provided Dependabot.
但是,如果这没有与强大的测试套件和微调的版本约束相结合,您最终可能会破坏已经在运行的项目,因为某些随机依赖项会引入意外的行为变化。