我是一个Qt/C++开发人员。我希望设置一个持续的集成环境,在提交源代码之后,它将触发一个构建过程,为我使用的3个平台构建代码:
如果可能,我如何设置这样的环境。欢迎任何提示或链接。我已经读过关于詹金斯的文章了,但我找不到任何好的教程。
发布于 2012-03-28 12:30:01
我也有几个理由建议詹金斯:
一个更大的问题是,AFAIK,Qt并没有真正为其他平台进行交叉编译。使用Jenkins (和适当的插件),您应该能够解决这个问题。
一个快速出现在脑海中的方法是在每个平台上都有一个Jenkins实例。每个实例负责为自己的平台构建版本。在构建结束时,所创建的工件都放在一个公共的、共享的位置。
发布于 2012-03-28 11:18:42
我想到了两种解决办法:
BuildBot
BuildBot是一个高度定制的用Python编写的连续集成系统。主组件提供了一个很好的基于web的GUI来监视和触发构建;从组件被放在目标机器上(通常是虚拟机,但它们可能是一个开发人员的Mac笔记本)。Docs足以建立一个基本的系统,定制可能有点棘手(至少对我来说是这样)。使用VC系统提供的提交/推送挂钩,您可以轻松地激活主程序并触发跨从服务器的构建。它还支持增量构建(如果您的项目很大,这是必须的)。
CDash
由CMake的作者开发的CDash是一个收集跨网络构建的web应用程序,并不完全符合您的要求,但我认为值得一试。如果您有一组开发人员可以继续在他们的机器上将构建结果提交给服务器(如果使用CMake,则几乎是透明的),这是非常强大的。您不能像Buildbot那样从服务器触发构建,但是您可以使用cron设置一组VM,该cron检查更改,以防执行生成并将结果发送给CDash
发布于 2012-03-28 11:19:46
Jenkins通过插件支持所有主要源代码控制系统的这一特性。如果您认真考虑使用Jenkins (我强烈推荐),请考虑购买约翰·弗格森·斯马特。
https://stackoverflow.com/questions/9905138
复制相似问题