将基于Eclipse / cdt的构建集成到持续集成中

问题描述 投票:9回答:1

我必须使用CDT,mingw和cdt管理的构建功能(没有外部makefile或构建环境)来重用当前在Eclipse内部开发的主要C ++项目。该项目本身由许多子项目组成。

我想将该构建集成到一个连续集成服务器(即詹金斯)中,因此必须能够自动化无头构建。

到目前为止,我设法签出了该项目(从jenkins容易完成),并使用以下命令使用eclipse以无头模式构建它:

C:\prog\EclipseCdt\eclipse -nosplash -application org.eclipse.cdt.managedbuilder.core.headlessbuild -import %WORKSPACE%\project1 -import %WORKSPACE%\project2 -import %WORKSPACE%\project3 -build all

但是还不够:

  • build是异步的:前一条命令返回(实际上是派生的),而我希望它保持上下文,直到得到结果为止(就像在Linux上使用make或在Windows上使用devenv一样)
  • 我无法提取构建日志(理想情况下将其保存在文件中:要整合到我的连续信息中,我需要能够解析构建日志以显示有趣的信息(考虑损坏的文件)] >>
  • 理想情况下,我想从Eclipse获得指示通过或失败的直接状态(返回代码)。
  • 任何想法如何发生这种行为?

注意:

  • 当前无法使用备用(外部)构建系统(我必须保留cdt管理的构建,它具有很多复杂的历史记录)
  • 尽管我的需求显然很简单,但我已经研究过堆栈溢出和google并没有设法找到一种方法来做到这一点
  • 我目前在Windows 7 / mingw 4.5.2 /用于C / C ++开发人员的Eclipse IDE中:Indigo发行版本ID:20110615-0604,但我认为问题是x平台

我必须使用CDT,mingw和cdt管理的构建功能(没有外部makefile或构建环境)来重用当前在Eclipse内部开发的主要C ++项目。该项目本身是...

eclipse jenkins eclipse-cdt
1个回答
7
投票

好像我以交互方式从cmd启动Eclipse,它分叉,如果是从bat脚本启动,则不是。因此,将前一行放在jenkins中足以解决问题。

© www.soinside.com 2019 - 2024. All rights reserved.