C++ 的跨平台持续集成管道/Qt 应用程序

发布于 2025-01-04 19:40:50 字数 1147 浏览 1 评论 0原文

编辑 2012.03.02:更新了构建工具部分并提出了一些其他要求。添加预制。

编辑 2012.03.05:更新了构建工具部分。专注于 CMake。添加了 Ant + CMakeAnt。

我有很多小型 Visual C++ 项目,我想开始为此使用持续集成。这个过程涉及到很多工具。我开始到处阅读文章,但我很难看出哪个工具可以与其他工具很好地集成。因此,我正在寻找一个已经测试过的持续集成工作流程,可以满足我的需求:

当前上下文

  • 使用 Visual Studio 开发的 C++/Qt 应用程序;
  • 源文件少于 1,000 个;
  • 小型开发团队;
  • 预算小;
  • 最好是开源/免费软件;
  • 寻找易于使用且简单的工具。不需要沉重和“强大”的东西。
  • 最后,软件包(安装程序可供下载)应该适用于 Windows 和 OSX。 Linux(最流行的发行版)是一个优点。

所需工具

  • 持续集成服务器:

    需要是詹金斯。我知道并且喜欢它。如果确实需要的话我可以换一个。

  • 源代码管理:

    GIT。

  • 文档生成器:

    Doxygen。

  • 构建工具:

    我们需要为我们需要支持的所有平台生成解决方案和配置。强烈建议我为此使用 CMake。 Ant + CMakeAnt (http://code.google.com/p/cmakeant/) 似乎也是一个不错的补充。

  • 单元测试框架:

    CPPunit、C++Test、Googletest?

  • 安装程序生成器

    CPack(CMake 的一部分似乎也很棒)。

  • 硬件:

    最好是一台带有 VirtualBox 或 VMWare 的机器。难道只有这样才有可能吗?使用 Linux 来做这样的事情会更好吗?或者 MAC mini 就足够了吗?

那么,这里有人已经构建了类似的东西吗?具体使用哪些工具?

感谢您的任何意见和建议。

EDIT 2012.03.02: updated build tool section with some other requirements. Addding premake.

EDIT 2012.03.05: updated build tool section. Focused on CMake. Added Ant + CMakeAnt.

I have a lot of small Visual C++ projects and I want to start using continuous integration for that. A lot of tools are involved in the process. I start reading articles here and there and it is hard for me to see which to tool could integrate nicely with the others. So I am looking for an already tested continuous integration workflow that could respect my needs:

Current Context

  • C++/Qt applications developed with Visual Studio;
  • Less than 1'000 source files;
  • Small dev team;
  • Small budget;
  • Preferably open source/free software;
  • Looking for easy to use and simple tools. No need of something heavy and "powerful".
  • Finally packages software (installers ready for download) should work for windows and OSX. Linux (most popular distributions) is a plus.

Tools needed

  • Continuous Integration Server:

    Needs to be Jenkins. I know it and I like it. I could change for another one if it is really needed.

  • Source Code Management:

    GIT.

  • Documentation Generator:

    Doxygen.

  • Build Tool:

    We will need to generate solutions and configurations for all the platforms we need to support. I have been strongly advised to use CMake for that. Ant + CMakeAnt (http://code.google.com/p/cmakeant/) seems to be a nice addition too.

  • Unit Testing Framework:

    CPPunit, C++Test, Googletest?

  • Installers Builder

    CPack (part of CMake seems great too).

  • Hardware:

    Preferably, one single machine with VirtualBox or VMWare. is it only possible? Would it be better to use Linux for such things? Or would a MAC mini be sufficient?

So, has anyone here already built something similar? With which tools exactly?

Thanks for any comments and suggestions.

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

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

发布评论

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

评论(2

只想待在家 2025-01-11 19:40:50

我已经成功地将 CMake/CTest/CPack 与 Jenkins 一起使用,有一个 CMake 构建器插件可用。

我发现 ctest --output-on-failure 选项很有用,因为测试的输出显示在失败时的 Jenkins 日志中。

我使用 Boost.Test 框架为了测试 C++,它与 ctest 配合得很好,我使用 -l all 选项运行它,以便在出现问题时获取所有日志输出。

I have successfully used CMake/CTest/CPack with Jenkins, there is a CMake builder plugin available.

I found the ctest --output-on-failure option to be useful as the output from the test is shown in the Jenkins log on failure.

I use the Boost.Test framework for testing C++, it works fine with ctest, I run it with the -l all option to get all the logging output when something goes wrong.

亚希 2025-01-11 19:40:50

您应该能够使用一堆脚本来引导整个过程。

用 Perl 或 Python 编写它们。有上百万个关于如何引导此类流程的教程。

如果您坚持要实现此构建过程的特定部分,请询问有关它的具体问题。

You should be able to bootstrap the entire process using a bunch of scripts.

Write them in Perl or Python. There are a million tutorials on how to bootstrap these sorts of processes.

If you're stuck on implementing a specific party of this build-process, ask a specific question about it.

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