用于本地和远程编译的集中式构建服务器

发布于 2024-11-16 10:55:06 字数 392 浏览 3 评论 0原文

我所在的团队由几个开发人员组成,他们共享编译器工具链的许可证。我们遇到的问题是,在一位开发人员获得使用编译器的许可证后,需要很长的等待时间才能让下一位开发人员使用该编译器。这导致了很多时间的浪费和人们的沮丧。

由于许可证非常昂贵,购买更多许可证并不是一个选择。我希望通过设置一个中央编译器来更充分地利用许可证,您可以将作业推送到该机器并让机器完成工作。我们还在研究自动构建来验证来源。

我研究过 buildbot,它对于自动化构建和测试来说似乎很成熟,但是,当开发人员处于本地测试阶段并将更改推送到远程存储库之前,使用它来代替本地构建可能超出了它的范围。

理想情况下,该工具能够位于 IDE 和编译机之间,以便 IDE 看起来构建是在本地执行的。然后,如果出现任何警告/错误,我们仍然可以使用这些方便的功能来定位语法错误。

I am in a team of a few developers who are sharing a license for a compiler toolchain. The issue that we are having is that after one developer has acquired the license to use the compiler, there is a large wait time before the next developer can use the compiler. This is causing a lot of wasted time and frustrated people.

Since the license is very expensive, buying more of them is not an option. I was hoping to more fully utilize the license by setting up a central compiler machine which you can push jobs to and have the machine do the work. We are also looking into automated builds to verify the source.

I've looked into buildbot, which seems mature for automated building and testing, however using it in place of building locally while a developer is in their local testing phase before pushing changes to the remote repository might be out of it's scope.

Ideally this tool would be able to sit between the IDE and compiling machine so that it appears to the IDE that the build is being performed locally. Then if any warnings/errors show up, we could still use those handy features for zeroing in on syntax errors.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

街角卖回忆 2024-11-23 10:55:06

您可以查看 buildbot try 工具。这允许您向构建器发送补丁文件以使其远程运行,并允许您阻止结果。

假设您已经拥有一个集中存储库,您所要做的就是创建一个对 buildbot try 的调用,传入所需的参数,并将其替换为 makefile/buildscript 中的实际编译器。

诚然,如果您是唯一进行编译的人,这将使迭代需要更长的时间,但听起来您确实遇到了相反的问题。

You might look into the buildbot try tool. This allows you to send a patchfile to the builder to have it run remotely, and lets you block on the result.

Provided that you have a centralized repository already, all you would have to do would be create a call to buildbot try passing in the required parameters, and put this in place of the actual compiler in your makefile/buildscript.

Granted, this would make it take a bit longer to do iterations if you're the only person compiling, but it sounds like you really have the opposite problem.

爱的故事 2024-11-23 10:55:06

如果您可以自定义用于执行编译器的命令,并且可以 ssh 到中央计算机,那么您可能可以编写使用 ssh 在远程计算机上调用编译器的包装器。为了使其正常工作,您可能需要在客户端和服务器上安装源目录。

如果源目录安装在两台计算机上的同一位置,则脚本可能会像这样简单。

#!/bin/sh
ssh $REMOTE_HOST cd "$PWD" ";" $@

这将调用在服务器上同一目录中的 $REMOTE_HOST 上作为参数传递的命令。

If you can customize the commands used to execute the compiler, and can ssh to the central machine, then you can probably write wrapper that invokes the compiler on the remote machine using ssh. To get this to work nicely, you likely need to have the source directory mounted on both the client and the server.

If the source directory is mounted in the same place on both machines, then the script might be as simple as

#!/bin/sh
ssh $REMOTE_HOST cd "$PWD" ";" $@

This invokes the command passed as argument on $REMOTE_HOST, in the same directory on the server.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文