如何在多个存储库之间共享 Protocol Buffer .proto 文件
How do I share Protocol Buffer .proto files between multiple repositories
我们正在考虑使用 Protocol Buffers 在 python 和 node.js 服务之间进行通信,每个服务都位于自己的存储库中。
由于 .proto
文件必须可供两个 repos 访问,我们应该如何共享 .proto
文件?
我们目前正在考虑:
- 为我们所有的
.proto
文件创建一个 repo,并使其成为我们所有服务的 git 子树
- 为我们所有的
.proto
文件创建一个 repo,在推送时发布一个私有 python 模块和私有节点模块,并从各自的服务中获取模块
- 为所有
.proto
文件创建存储库,并将存储库指定为 pip
/ npm
包的目标
在存储库之间共享 .proto
文件的标准方法是什么?
这取决于你的开发过程。
A git 子树/子模块对于大多数用途来说似乎是一个明智的解决方案。如果你有更多的下游项目,发布一个现成的模块是有意义的,因为这样就不会每个项目都需要 protobuf 生成器。
我们在同样的情况下,使用了3个repos:服务器端用c++写的,客户端用actionscript 3写的,第三个是protobufs,两者都用了。对于一个大团队,大项目我觉得是个不错的选择。
我们正在考虑使用 Protocol Buffers 在 python 和 node.js 服务之间进行通信,每个服务都位于自己的存储库中。
由于 .proto
文件必须可供两个 repos 访问,我们应该如何共享 .proto
文件?
我们目前正在考虑:
- 为我们所有的
.proto
文件创建一个 repo,并使其成为我们所有服务的 git 子树 - 为我们所有的
.proto
文件创建一个 repo,在推送时发布一个私有 python 模块和私有节点模块,并从各自的服务中获取模块 - 为所有
.proto
文件创建存储库,并将存储库指定为pip
/npm
包的目标
在存储库之间共享 .proto
文件的标准方法是什么?
这取决于你的开发过程。
A git 子树/子模块对于大多数用途来说似乎是一个明智的解决方案。如果你有更多的下游项目,发布一个现成的模块是有意义的,因为这样就不会每个项目都需要 protobuf 生成器。
我们在同样的情况下,使用了3个repos:服务器端用c++写的,客户端用actionscript 3写的,第三个是protobufs,两者都用了。对于一个大团队,大项目我觉得是个不错的选择。