如何在多个存储库之间共享协议缓冲区.proto文件

我们正在考虑使用协议缓冲区 ( Protocol Buffers)来进行每个活在自己的回购站中的python和node.js服务之间的通信。

由于.proto文件必须可以同时访问,我们应该如何共享.proto文件?

我们正在考虑:

  1. 为我们所有的.proto文件创build一个.proto ,并将其作为我们所有服务的git子树
  2. 为我们所有的.proto文件创build一个repo,在push上发布一个私有python模块和私有节点模块,并要求各个服务的模块
  3. 为我们所有的.proto文件创build一个仓库,并指定仓库作为pip / npm包的目的地

在储存库之间共享.proto文件的标准方式是什么?

这取决于你的开发过程。

git子树/子模块对于大多数目的来说似乎是一个明智的解决scheme。 如果你有更多的下游项目,发布一个现成的模块将是有意义的,因为每个项目都不需要protobuf生成器。

我们在同样的情况下,使用了3个回购:服务器端用c ++编写,客户端用actionscript 3编写,protobufs用在第三个,并且使用了它们两个。 对于一个大团队和大项目,我认为这是一个不错的select。