英文:
Remote Execution with Buildbarn
问题
我正在尝试在本地设置使用Buildbarn的远程构建执行(RBE)。所以没有什么花哨的东西,只是我有一个闲置的远程PC,我想用它来进行RBE。
我不需要远程缓存,想知道实现这个的最小设置是什么?
我正在尝试理解从这里提供的示例中需要什么。我是否需要一个bb_storage实例?有没有人有这方面的经验?我有点找不到如何实现这种最小设置的文档/示例。
英文:
I am trying to setup remote build execution (RBE) with Buildbarn locally. So nothing fancy, just a remote PC I have laying around that I want to use for RBE.
I don't need remote caching and was wondering what would be the minimal setup to achieve this?
I am trying to understand what I need from the example provided here. Do I need a bb_storage instance? Does anyone have experience with this? I am a bit lost to find documentation/examples on how to achieve such a minimal setup.
答案1
得分: 1
bb-deployments存储库中有一些假设性的BuildBarn设置示例 - 在单台计算机上开始的最简单方法可能是使用docker-compose设置,也许可以删除其中的一些部分。在我看来,您需要:
- 单个bb-scheduler实例
- 至少一个bb-worker / bb-runner配对以执行命令
- 单个bb-storage实例,它既用作构建工件的存储,也用作调度器实例的前端(这是供Bazel标志提供的地址,以启用远程执行)
- bb-browser实例是可选的,但允许您调试/检查缓存中的构建工件
但是,理解BuildBarn配置对于初学者可能会有点复杂(需要理解如何阅读配置protobuf模式,Jsonnet以及JSON值如何映射到protobuf模式),因此我建议从他们提供的docker-compose开始,然后逐渐修改它,直到符合您寻找的配置。
英文:
The bb-deployments repository has some examples of hypothetical buildbarn setups - the easiest way to get started on a single machine would be a docker-compose setup, perhaps with some of the pieces in their example removed. In my estimation, you'd need:
- a single bb-scheduler instance
- at least one bb-worker / bb-runner pair to execute commands
- a single bb-storage instance, which serves as both the storage for build artifacts and the frontend for the scheduler instance (this is the piece whose address is supplied to bazel flags to enable remote execution)
- a bb-browser instance is optional, but allows one to debug/inspect build artifacts in the cache
However, understanding the buildbarn configurations can be involved for the uninitiated (requires understanding how to read the config protobuf schemas, Jsonnet, and how JSON values map to protobuf schemas), so I'd recommend starting with their provided docker-compose, and modifying it bit by bit until it matches the configuration you're looking for.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论