我应该使用什么工具来创建我的构建机器?
我正在利用空闲时间开发一个用 C++
编写的多平台/多架构库。
在每次发布之前,我都必须启动多台计算机(一台在 Windows 上,一台在 Linux 上,另一台在 Mac OS 上,...),以确保代码在每个平台上都能正常编译和运行。
所以我决定创建自己的构建机器,但我真的不知道有什么工具可以做到这一点。我希望我的构建机器能够在 Linux 上运行,但任何其他解决方案都会被接受。
理想情况下,我只需单击“全部构建”按钮,它就会为不同的平台/架构编译我的库,从结果生成档案和/或报告潜在的错误。
我的项目“约束”是:
- 它是用 C++ 编写的
- 它使用 SConstruct/MinGW 和 Visual Studio 2010 在 Windows 上编译
- 它使用 SConstruct/g++ 在 Linux 和 Mac OS 上编译
- 源代码存储在 Subversion (svn )
您知道有什么工具/工具集可以帮助我实现目标吗?
非常感谢。
I am working on my free time on a multiplatform/multi-architecture library written in C++
.
Before every release, I have to boot up several computers (One on Windows, one on Linux, another one on Mac OS, ...) just to make sure the code compiles and runs fine on every platform.
So I decided to create my own buildmachine but I really don't know what tools exist to do this. I'd like my buildmachine to run on Linux but any other solution will be accepted.
Ideally, I would just have to click on a "Build all" button, and it would compile my library for the different platforms/architectures, generate archives from the result and/or report potential errors.
My project "constraints" are:
- It is written in
C++
- It compiles on Windows using SConstruct/MinGW and Visual Studio 2010
- It compile on Linux and Mac OS using SConstruct/g++
- The sources are stored into Subversion (svn)
Do you know any tool/set of tools that could help me achieving my goal ?
Thank you very much.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我会设置 3 个虚拟机(VirtualBox 是免费的),每个平台一个。
在 Linux 上安装 TeamCity(或 Hudson)并在其他虚拟机上安装代理,然后只需进行配置即可构建系统。
在最基本的层面上,您应该有 2 个任务:一个是从 Subversion 检查源代码,另一个是调用
scons
。我对 Hudson 不太熟悉,但 TeamCity 当然能够生成构建报告、显示进度等。
I would setup 3 VMs (VirtualBox is free), one for each platform.
Install TeamCity (or Hudson) on Linux and agents on the other VMs and then it's just a matter of configuring the build system.
At the very basic level you should have 2 tasks: one to checkout the sources from Subversion and another to invoke
scons
.I'm not too familiar with Hudson but TeamCity is certainly capable of generating reports of a build, display progress etc.